sqlserver子查询例子 下载本文

内容发布更新时间 : 2024/12/23 3:34:03星期一 下面是文章的全部内容请认真阅读。

sqlserver子查询例子

【篇一:sqlserver子查询例子】

如果您看了本篇博客,觉得对您有所收获,请不要吝啬您的 推荐 。

【篇二:sqlserver子查询例子】

1。由订单信息表(torder)中,找出最早订单和最晚订单,并按早晚进行排序。(这里默认用升序) (ps:比较测试中的子查询) select * from torder

where orderdate=(select min(orderdate) from torder) or orderdate=(select max(orderdate) from torder) order by orderdate

2.找出订货量大于10的货品信息。 (ps:集合成员中的子查询) select * fromtgoods where id in

(select gid fromtorder o1 where (select sum(quantity) from torder o2 whereo1.gid=o2.gid) 10)

(1)由订单信息表中得到订货数量大于10的货品编码,即: select ordernum from torder as a where

(select sum(quantity) from torder as b where a.ordernum=b.ordernum) 10

再按照这里选出的货品编码,由货品信息表中选出这些货品的信息,有如下的sql语句。

select * from torder where ordernum in (select ordernum from torder as a where

(select sum(quantity) from torder as b where a.ordernum=b.ordernum) 10 )

3.找出有销售业绩的销售人员信息。 (ps:存在性测试中的子查询)

select * fromtemployee as a where exists (select id fromtorder as b where a.id=b.eid)

4.查询每种货品订货量大于最小一次订货量的订单信息。 (ps:批量比较测试中的子查询)

(1)大于最小一次订货量,也就是去年该种货品订货量最小一次的订单。有如下的sql语句。

(ps:使用any关键字的比较测试)

select * fromtorder as a where quantity any

select quantity from torder as b where a.gid=b.gid) 或:

select * from torder o1 where quantity any

(select quantity from torder o2 where o1.gid=o2.gid) (2)查询每种货品订货量最大的一次订单信息。

选择每种货品订货量最大的订单。有如下的sql语句。 (ps:使用all关键字的比较测试)

select * from torder as a where quantity =all

(select quantity from torder as b where a.gid=b.gid) 或:

select * from torder o1 where quantity =all

(select quantity from torder o2 where o1.gid=o2.gid)

5.在sql server managementstudio中,往“上海客户”表中添加客户信息,然后通过子查询语句将客户信息一次性添加到“客户信息”表中。

上海客户表是通过select…into语句建立一个空表,它的结构与“客户信息”表相同,所以数据是兼容的。有如下的sql语句。 (ps:使用子查询向表中添加多条记录) 通过select…into语句建立一个空表: select *

into tshcustomer from tcustomer

where address like 上海%

insert tcustomer select * from tshcustomer --查看添加结果

select * from tcustomer