sql查询语句学习测试答案.docx

上传人:b****1 文档编号:2330523 上传时间:2023-05-03 格式:DOCX 页数:30 大小:544.24KB
下载 相关 举报
sql查询语句学习测试答案.docx_第1页
第1页 / 共30页
sql查询语句学习测试答案.docx_第2页
第2页 / 共30页
sql查询语句学习测试答案.docx_第3页
第3页 / 共30页
sql查询语句学习测试答案.docx_第4页
第4页 / 共30页
sql查询语句学习测试答案.docx_第5页
第5页 / 共30页
sql查询语句学习测试答案.docx_第6页
第6页 / 共30页
sql查询语句学习测试答案.docx_第7页
第7页 / 共30页
sql查询语句学习测试答案.docx_第8页
第8页 / 共30页
sql查询语句学习测试答案.docx_第9页
第9页 / 共30页
sql查询语句学习测试答案.docx_第10页
第10页 / 共30页
sql查询语句学习测试答案.docx_第11页
第11页 / 共30页
sql查询语句学习测试答案.docx_第12页
第12页 / 共30页
sql查询语句学习测试答案.docx_第13页
第13页 / 共30页
sql查询语句学习测试答案.docx_第14页
第14页 / 共30页
sql查询语句学习测试答案.docx_第15页
第15页 / 共30页
sql查询语句学习测试答案.docx_第16页
第16页 / 共30页
sql查询语句学习测试答案.docx_第17页
第17页 / 共30页
sql查询语句学习测试答案.docx_第18页
第18页 / 共30页
sql查询语句学习测试答案.docx_第19页
第19页 / 共30页
sql查询语句学习测试答案.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

sql查询语句学习测试答案.docx

《sql查询语句学习测试答案.docx》由会员分享,可在线阅读,更多相关《sql查询语句学习测试答案.docx(30页珍藏版)》请在冰点文库上搜索。

sql查询语句学习测试答案.docx

sql查询语句学习测试答案

第一部分SQL查询语句的学习

单表查询

1、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、客户ID和雇员ID等字段的值

useeee

SELECT订购日期,订单ID,客户ID,雇员ID

FROM订单

WHERE订购日期BETWEEN'1996-7-100:

00:

00'AND'1996-7-1523:

59:

59'

2、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。

条件是“地区等于华北”并且“联系人头衔等于销售代表”。

useeee

SELECT供应商ID,公司名称,地区,城市,电话

FROM供应商

WHERE地区='华北'AND联系人职务='销售代表'

 

3、--查询“Northwind”示例数据库中供应商的ID、公司名称、地区、城市和电话字段的值。

其中的一些供应商位于华东或华南地区,另外一些供应商所在的城市是天津

useeee

SELECT供应商ID,公司名称,地区,城市,电话

FROM供应商

WHERE地区IN('华东','华南')OR城市='天津'

4、--查询“Northwind”示例数据库中位于“华东”或“华南”地区的供应商的ID、公司名称、地区、城市和电话字段的值

useeee

SELECT供应商ID,公司名称,地区,城市,电话

FROM供应商

WHERE地区IN('华东','华南')

多表查询

5、--查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,“姓氏”和“名字”值相同的记录按“订单ID”的降序排列

useeee

SELECT订购日期,订单ID,公司名称,姓氏,名字

FROM订单,雇员,客户

WHERE订购日期BETWEEN'1996-7-100:

00:

00'AND'1996-7-1523:

59:

59'

AND订单.雇员ID=雇员.雇员ID

AND订单.客户ID=客户.客户ID

ORDERBY姓氏,名字ASC,订单IDDESC

6、--查询“10248”和“10254”号订单的订单ID、运货商的公司名称、订单上所订购的产品的名称

useeee

SELECT订单.订单ID,公司名称,产品名称

FROM订单,运货商,产品,订单明细

WHERE订单.订单IDIN('10248','10254')

AND订单.订单ID=订单明细.订单ID

AND订单明细.产品ID=产品.产品ID

AND订单.运货商=运货商.运货商ID

7、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称、数量、单价和折扣

useeee

SELECT订单.订单ID,产品名称,数量,订单明细.单价,折扣

FROM订单,产品,订单明细

WHERE订单.订单IDIN('10248','10254')

AND订单.订单ID=订单明细.订单ID

AND订单明细.产品ID=产品.产品ID

8、--查询“10248”和“10254”号订单的订单ID、订单上所订购的产品的名称及其销售金额

useeee

SELECT订单.订单ID,产品名称,数量*订单明细.单价*(1-折扣)AS销售金额

FROM订单,产品,订单明细

WHERE订单.订单IDIN('10248','10254')

AND订单.订单ID=订单明细.订单ID

AND订单明细.产品ID=产品.产品ID

综合查询

9、--查询所有运货商的公司名称和电话

useeee

SELECT公司名称,电话

FROM运货商

10、--查询所有客户的公司名称、电话、传真、地址、联系人姓名和联系人头衔

useeee

SELECT公司名称,电话,传真,地址,联系人姓名,联系人职务

FROM客户

11、--查询单价介于10至30元的所有产品的产品ID、产品名称和库存量

useeee

SELECT产品ID,产品名称,库存量

FROM产品

WHERE单价BETWEEN10AND30

12、--查询单价大于20元的所有产品的产品名称、单价以及供应商的公司名称、电话

useeee

SELECT产品名称,单价,公司名称,电话

FROM产品,供应商

WHERE单价>20

AND产品.供应商ID=供应商.供应商ID

13、--查询上海和北京的客户在1996年订购的所有订单的订单ID、所订购的产品名称和数量

useeee

SELECT订单.订单ID,产品名称,数量

FROM产品,订单,订单明细,客户

WHERE城市IN('上海','北京')ANDYEAR(订购日期)=1996

AND产品.产品ID=订单明细.产品ID

AND订单.订单ID=订单明细.订单ID

AND订单.客户ID=客户.客户ID

14、--查询华北客户的每份订单的订单ID、产品名称和销售金额

useeee

SELECT订单.订单ID,产品名称,数量*订单明细.单价*(1-折扣)AS销售金额

FROM产品,订单,订单明细,客户

WHERE地区='华北'

AND产品.产品ID=订单明细.产品ID

AND订单.订单ID=订单明细.订单ID

AND订单.客户ID=客户.客户ID

15、--按运货商公司名称,统计1997年由各个运货商承运的订单的总数量

useeee

SELECT公司名称,COUNT(订单ID)AS订单总数量

FROM订单,运货商

WHEREYEAR(发货日期)=1997

AND订单.运货商=运货商.运货商ID

GROUPBY公司名称

16、--统计1997年上半年的每份订单上所订购的产品的总数量

useeee

SELECT订单.订单ID,SUM(数量)AS总数量

FROM订单,订单明细

WHERE订购日期BETWEEN'1997-1-100:

00:

00'AND'1997-6-3023:

59:

59'

AND订单.订单ID=订单明细.订单ID

GROUPBY订单.订单ID

17、--统计各类产品的平均价格

useeee

SELECT类别名称,SUM(单价*库存量)/SUM(库存量)AS平均价格

FROM产品,类别

WHERE产品.类别ID=类别.类别ID

GROUPBY类别名称

18、--统计各地区客户的总数量

useeee

SELECT地区,COUNT(客户ID)AS客户数量

FROM客户

GROUPBY地区

 

第二部分SQL查询强化测试

1.找出供应商名称,所在城市

useeee

SELECT公司名称,城市

FROM供应商

2.找出华北地区能够供应海鲜的所有供应商列表。

useeee

SELECT公司名称

FROM供应商,类别,产品

WHERE地区='华北'

AND类别名称='海鲜'

AND产品.类别ID=类别.类别ID

AND产品.供应商ID=供应商.供应商ID

3.找出订单销售额前五的订单是经由哪家运货商运送的。

useeee

SELECTTOP(5)订单.订单ID,SUM(订单明细.单价*(1-折扣)*数量)AS销售额,公司名称

FROM订单,订单明细,运货商

WHERE订单.订单ID=订单明细.订单ID

AND订单.运货商=运货商.运货商ID

GROUPBY订单.订单ID,公司名称

ORDERBY销售额DESC

4.找出按箱包装的产品名称。

useeee

SELECT产品名称

FROM产品

WHERE单位数量LIKE'%箱%'

5.找出重庆的供应商能够供应的所有产品列表。

useeee

SELECT产品名称

FROM产品,供应商

WHERE产品.供应商ID=供应商.供应商ID

AND城市='重庆'

6.找出雇员郑建杰所有的订单并根据订单销售额排序。

useeee

SELECT订单.订单ID,SUM(单价*数量*(1-折扣))AS销售额

FROM订单,订单明细,雇员

WHERE姓氏+名字='郑建杰'

AND订单.订单ID=订单明细.订单ID

AND雇员.雇员ID=订单.雇员ID

GROUPBY订单.订单ID

ORDERBY销售额DESC

7.找出订单10284的所有产品以及订单金额,运货商。

useeee

SELECT订单.订单ID,产品名称,订单明细.单价*数量*(1-折扣)AS订单金额,公司名称

FROM订单,订单明细,产品,运货商

WHERE订单.订单ID=10284

AND订单.订单ID=订单明细.订单ID

AND订单明细.产品ID=产品.产品ID

AND订单.运货商=运货商.运货商ID

8.建立产品与订单的关联。

useeee

SELECT产品.*,订单.*

FROM产品,订单,订单明细

WHERE订单.订单ID=订单明细.订单ID

AND订单明细.产品ID=产品.产品ID

9.计算销量前10位的订单明细,结果集返回订单ID,订单日期,公司名称,发货日期,销售额,并排序

useeee

SELECT订单.订单ID,订购日期,公司名称,发货日期,SUM(单价*数量*(1-折扣))AS销售额

FROM订单,订单明细,客户

WHERE订单.订单ID=订单明细.订单ID

AND订单.订单IDIN(SELECTTOP(10)订单ID

FROM订单明细

GROUPBY订单ID

ORDERBYSUM(数量)DESC)

AND订单.客户ID=客户.客户ID

GROUPBY订单.订单ID,订购日期,公司名称,发货日期

ORDERBY销售额DESC

10.按年度统计销售额

useeee

SELECTYEAR(订购日期)AS年份,SUM(单价*数量*(1-折扣))AS销售额

FROM订单,订单明细

WHERE订单.订单ID=订单明细.订单ID

GROUPBYYEAR(订购日期)

11.查询供应商中能够供应的产品样数最多的供应商。

SELECTTOP

(1)公司名称,COUNT(产品ID)AS提供产品种类数量

FROM产品,供应商

WHERE产品.供应商ID=供应商.供应商ID

GROUPBY公司名称

ORDERBYCOUNT(产品ID)DESC

12.查询产品类别中包含的产品数量最多的类别。

SELECTTOP

(1)类别名称,COUNT(产品ID)AS产品种类数量

FROM产品,类别

WHERE产品.类别ID=类别.类别ID

GROUPBY类别名称

ORDERBYCOUNT(产品ID)DESC

13.找出所有的订单中经由哪家运货商运货次数最多。

SELECTTOP

(1)公司名称,COUNT(运货商ID)AS运货次数

FROM订单,运货商

WHERE订单.运货商=运货商.运货商ID

GROUPBY公司名称

ORDERBYCOUNT(运货商ID)DESC

14.按类别,产品分组,统计销售额。

useeee

SELECT产品名称,类别名称,SUM(订单明细.单价*数量*(1-折扣))AS销售额

FROM产品,类别,订单明细

WHERE产品.产品ID=订单明细.产品ID

AND产品.类别ID=类别.类别ID

GROUPBY产品名称,类别名称

15.查询海鲜类别最大的一笔订单。

SELECTTOP

(1)订单ID,SUM(订单明细.单价*数量*(1-折扣))AS销售额

FROM产品,类别,订单明细

WHERE类别名称='海鲜'

AND产品.产品ID=订单明细.产品ID

AND产品.类别ID=类别.类别ID

GROUPBY订单ID

ORDERBY销售额DESC

16.按季度统计销售量

SELECTYEAR(订购日期)AS年度,datename(quarter,订购日期)AS季度,SUM(订单明细.单价*数量*(1-折扣))AS销售额

FROM订单,订单明细

WHERE订单.订单ID=订单明细.订单ID

GROUPBYYEAR(订购日期),datename(quarter,订购日期)

ORDERBY年度,季度

17.查出订单总额超出5000的所有订单,客户名称,客户所在地区。

SELECT订单.订单ID,公司名称,地区

FROM订单,订单明细,客户

WHERE客户.客户ID=订单.客户ID

AND订单.订单ID=订单明细.订单ID

GROUPBY订单.订单ID,公司名称,地区

HAVINGSUM(单价*数量*(1-折扣))>5000

18.查询哪些产品的年度销售额低于2000

SELECTYEAR(订购日期),产品名称,SUM(订单明细.单价*数量*(1-折扣))AS销售额

FROM订单,产品,订单明细

WHERE订单.订单ID=订单明细.订单ID

AND产品.产品ID=订单明细.产品ID

GROUPBYYEAR(订购日期),产品名称

HAVINGSUM(订单明细.单价*数量*(1-折扣))<2000

19.查询所有订单ID开头为102的订单

SELECT订单.*

FROM订单

WHERE订单IDLIKE'102%'

20.查询所有“中硕贸易”,“学仁贸易”,“正人资源”,“中通”客户的订单,(要求使用in函数)

SELECT订单.*

FROM订单,客户

WHERE订单.客户ID=客户.客户ID

AND公司名称IN('中硕贸易','学仁贸易','正人资源','中通')

-----以上考试时间一个半小时

21.查询所有订单中月份不是单数的订单。

SELECT订单ID,订购日期

FROM订单

WHEREMONTH(订购日期)%2=0

22.分别各写一个查询,得到订单中折扣为15%,20%的所有订单,并将两个查询再组成一个。

SELECT订单.*

FROM订单,订单明细

WHERE折扣IN('0.15','0.2')

AND订单.订单ID=订单明细.订单ID

23.找出在入职时已超过30岁的所有员工信息

useeee

SELECT雇员.*

FROM雇员

WHEREYEAR(雇用日期)-YEAR(出生日期)>=30

24.找出所有单价大于30的产品(附加要求,产品类别,供应商作为参数,当产品类别和供应商都为空的时候,nofilter)

SELECT产品名称,类别名称,公司名称

FROM产品,类别,供应商

WHERE单价>30

AND产品.类别ID=类别.类别ID

AND产品.供应商ID=供应商.供应商ID

AND类别名称ISNOTNULL

AND公司名称ISNOTNULL

25.查询所有库存产品的总额,并按照总额排序

SELECT产品ID,产品名称,SUM(单价*库存量)AS库存总额

FROM产品

GROUPBY产品ID,产品名称

ORDERBY库存总额DESC

26.检索出职务为销售代表的所有订单中,每笔订单总额低于2000的订单明细,以及相关供应商名称。

SELECT订单明细.*,公司名称

FROM订单,订单明细,供应商,产品,雇员

WHERE雇员.职务='销售代表'

AND订单明细.单价*数量*(1-折扣)<2000

AND订单明细.订单ID=订单.订单ID

AND订单.雇员ID=雇员.雇员ID

AND产品.产品ID=订单明细.产品ID

AND产品.供应商ID=供应商.供应商ID

27.检索出向艾德高科技提供产品的供应商所在的城市。

useeee

SELECT客户.公司名称,供应商.公司名称AS供应商,供应商.城市

FROM供应商,客户,订单明细,产品,订单

WHERE客户.公司名称='艾德高科技'

AND订单.客户ID=客户.客户ID

AND产品.供应商ID=供应商.供应商ID

AND订单.订单ID=订单明细.订单ID

AND订单明细.产品ID=产品.产品ID

28.计算每一笔订单的发货期(从订购到发货),运货期(从发货到到货)的时常,并按照发货期从长到短的顺序进行排序。

useeee

SELECT订单ID,datediff(day,订购日期,发货日期)AS发货期时常,datediff(day,发货日期,到货日期)AS运货期时常

FROM订单

GROUPBY订单ID,订购日期,发货日期,到货日期

ORDERBY发货期时常DESC

29.将产品表和运货商两个无关的表整合为一个表

SELECTDISTINCT运货商.*,产品.*

FROM订单,运货商,产品,订单明细

WHERE订单.订单ID=订单明细.订单ID

AND订单明细.产品ID=产品.产品ID

AND订单.运货商=运货商.运货商ID

ORDERBY运货商ID,产品ID

USEeee

SELECTDISTINCT运货商ID,公司名称,COUNT(订单明细.订单ID)AS运送次数,产品.产品名称,产品.产品ID

FROM订单,订单明细,产品,运货商

WHERE订单.运货商=运货商.运货商IDAND订单.订单ID=订单明细.订单IDAND订单明细.产品ID=产品.产品ID

GROUPBY运货商ID,公司名称,产品.产品名称,产品.产品ID

ORDERBY运货商ID,产品.产品ID

30.获取在北京工作并向福星制衣厂股份有限公司发送过订单的职工名称。

useeee

SELECTDISTINCT姓氏+名字AS职工

FROM雇员,订单,客户

WHERE雇员.城市='北京'

AND客户.公司名称='福星制衣厂股份有限公司'

AND雇员.雇员ID=订单.雇员ID

AND订单.客户ID=客户.客户ID

GROUPBY姓氏,名字

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2