《2022年数据库sql查询语句练习_习题_结果仓库_习题宣贯 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库sql查询语句练习_习题_结果仓库_习题宣贯 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库结构如下:仓库(仓库号,城市,面积)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)职工(仓库号,职工号,工资)具体数据如下:仓库表:仓库号城市面积WH1 北京370 WH2 上海500 WH3 广州200 WH4武汉400 订购单表:职工号供应商号订购单号订购日期E3 S7 OR67 06/23/01 E1 S4 OR73 07/28/01 E5 S4 OR76 05/25/01 E6 S6 OR77 05/26/01 E3 S4 OR79 06/13/01 E1 S2 OR80 08/29/01 E3 S3 OR90 09/01/01 E3 S3 OR
2、91 07/13/01 供应商表:供应商号供应商名地址S2 名硕电子公司苏州S3 振华电子厂西安S4 华通电子公司北京S6 607 厂郑州S7 爱华电子厂北京职工表:仓库号职工号工资WH2 E1 1220 WH1 E3 1210 WH2 E4 1250 WH3 E5 1230 WH1E6 1250 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -使用 SQL 语句完成:DDL 1.写出创建上述表的语句命令:createtable仓库(仓库号varchar(8)primarykey,城市varchar(8),面积int);createtable订购单(订购单号varcha
3、r(8)primarykey,职工号varchar(8),供应商号varchar(8),订购日期nchar(8)createtable供应商(供应商号varchar(8)primarykey,供应商名varchar(18),地址varchar(8)createtable职工(职工号varchar(8)primarykey,仓库号varchar(8),工资int)DML 2.给出插入上述数据的insert 语句命令:insertinto仓库values(WH1,北京 ,370)insertinto仓库values(WH2,上海 ,500)insertinto仓库values(WH3,广州 ,20
4、0)insertinto仓库values(WH4,武汉 ,400)insertinto订购单values(OR67,E3,S7,06/23/01)insertinto订购单values(OR73,E1,S4,07/28/01)insertinto订购单values(OR76,E5,S4,05/25/01)insertinto订购单values(OR77,E6,S6,05/26/01)insertinto订购单values(OR79,E3,S4,06/13/01)insertinto订购单values(OR80,E1,S2,08/29/01)insertinto订购单values(OR90,E3
5、,S3,09/01/01)insertinto订购单values(OR91,E3,S7,07/13/01)insertinto供应商values(S2,名硕电子公司,苏州 )insertinto供应商values(S3,振华电子厂 ,西安 )insertinto供应商values(S4,华通电子公司,北京 )insertinto供应商values(S6,607厂,郑州 )insertinto供应商values(S7,爱华电子厂 ,北京 )insertinto职工values(E1,WH2,1220)insertinto职工values(E3,WH1,1210)insertinto职工value
6、s(E4,WH2,1250)insertinto职工values(E5,WH3,1230)insertinto职工values(E6,WH1,1250)单表查询3.检索职工关系中的所有信息命令:select*from职工结果:名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -4.检索供应商关系中的所有信息命令:select*from供应商结果:5.检索六月之后的所有订单命令:SELECT*FROM 订购单WHERE DATEDIFF(MONTH,2001-06-01 00:00:00.000,订购日期)=0;结果:6.检索面积大于400 的仓库命令:select*from
7、仓库where面积 400结果:7.检索哪些职工的工资多于1210 命令:select*from职工where工资 1210结果:8.检索仓库是“WH1”或“WH2”并且面积大于400 的城市命令:select城市from仓库where仓库号=WH1and面积 400 unionselect名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -城市from仓库where仓库号=WH2and面积 400结果:9.找出仓库面积在400 到 600 的仓库命令:select*from仓库where面积between 400 and 600结果:10.找出名中包含“厂”的所有供应商的
8、名命令:select供应商名from供应商where供应商名like%厂%结果:11.找出不在西安的供应商命令:select*from供应商exceptselect*from供应商where地址=西安 或者:select*from供应商wherenot地址=西安 结果:12.找出不在北京的仓库命令:select*from仓库exceptselect*from仓库where城市=北京 结果:13.按工资降序排列出所有职工的信息命令:select*from职工orderby工资desc结果:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -14.先按仓库号升序排列,再按工资降
9、序排列命令:select*from职工orderby仓库号asc,工资 desc结果:15.在仓库表中统计一下有几个仓库命令:selectCOUNT(*)仓库数from仓库结果:16.在职工表中统计一下有几个仓库命令:selectCOUNT(distinct仓库号)仓库数from职工结果:17.求总的仓库面积命令:selectsum(面积)总面积from仓库结果:聚合查询18.每个职工的订单数命令:select职工号,count(*)订单数from订购单groupby职工号结果:名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -19.订单数大于3 的职工命令:select
10、职工号,COUNT(*)订单数from订购单groupby职工号havingCOUNT(*)3结果:多表查询20.找出在面积大于400 的仓库中工作的职工命令:select职工号from职工join仓库 on职工.仓库号=仓库.仓库号where面积400结果:21.找出在北京工作的职工和他们的工资情况命令:select职工号,工资from职工join仓库on职工.仓库号=仓库.仓库号where仓库.城市=北京 结果:22.找出工资大于1215 的职工和他们所在的城市命令:select职工号,城市from职工join仓库on职工.仓库号=仓库.仓库号where工资 1215结果:子查询23.哪些
11、城市至少有一个订单(从仓库角度考虑)命令:selectdistinct城市from订购单join职工on订购单.职工号=职工.职名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -工号join仓库on职工.仓库号=仓库.仓库号结果:24.找出没有任何订单的城市命令:select城市from仓库exceptselectdistinct城市from订购单join职工on订购单.职工号=职工.职工号join仓库 on职工.仓库号=仓库.仓库号结果:25.找出和 E4 有同样工资的所有职工命令:selectb.职工号,b.仓库号,b.工资from职工 a join职工b on a.
12、工资=b.工资wherea.职工号=E4结果:26.找出仓库面积大于400 的仓库的所有职工命令:select职工.职工号,职工.仓库号,职工.工资from职工join仓库on职工.仓库号=仓库.仓库号where面积 400结果:27.找出供应商在西安的职工和他们的工资情况命令:select职工.职工号,工资from供应商join订购单on供应商.供应商号=订购单.供应商号join职工on订购单.职工号=职工.职工号where地址=西安 结果:28.找出不在北京仓库里工作的职工命令:select职工号,工资from职工join仓库on职工.仓库号=仓库.仓库号exceptselect职工号,工
13、资from职工join仓库on职工.仓库号=仓库.仓库号where城市=北京 结果:名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -29.找出在北京仓库里工作的职工命令:select职工号,工资from职工join仓库on职工.仓库号=仓库.仓库号where城市=北京 结果:30.求广州和上海仓库职工的总工资命令:selectSUM(工资)总工资from职工join仓库on职工.仓库号=仓库.仓库号 where城市=广州 or城市=上海 结果:31.求所有职工工资都大于1210 的仓库的平均面积命令:selectavg(面积)平均面积from(select仓库号from职工exceptselect仓库号from职工where工资=2)a结果:名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 8 页 -