mssql sqlserver 子查询使用举例-选择列表中子查询


摘要:
下文通过举例的方式讲述”使用子查询的方式在select中加入返回列”
实验环境:sql server 2008 R2

create table [maomao365.com_main] 
    (billNo varchar(30),custName nvarchar(30))
create table [maomao365.com_detail]
    (billNo varchar(30),
     name nvarchar(10),qty int )
go
insert into [maomao365.com_main]
 (billNo,custName)values
  ('a',N'猫猫小屋')
go
 insert into [maomao365.com_detail]
   (billNo,name,qty)
    values('a','玩具汽车',1),
    ('a','橡皮擦',2)
go
---例:使用子查询的方式返回明细表中的客户名
---子查询放入select关键字后
---子查询为一个“标量子查询”

select  a.*,
   (select custName from [maomao365.com_main] 
     where   [maomao365.com_main].billNo = a.billNo
    ) as custName 
 from    [maomao365.com_detail]   a

go

truncate table  [maomao365.com_main]
drop table       [maomao365.com_main]

truncate table  [maomao365.com_detail]
drop table       [maomao365.com_detail]


注意事项:
由于子查询同外部查询的行记录一起返回,所以每次子查询只能返回一个结果值