资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
数据库结构如下:仓库(仓库号,城市,面积)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)职工(仓库号,职工号,工资)具体数据如下:仓库表:仓库号城市面积WH1北京370WH2上海500WH3广州200WH4武汉400订购单表:职工号供应商号订购单号订购日期E3S7OR6706/23/01E1S4OR7307/28/01E5S4OR7605/25/01E6S6OR7705/26/01E3S4OR7906/13/01E1S2OR8008/29/01E3S3OR9009/01/01E3S3OR9107/13/01供应商表:供应商号供应商名地址S2名硕电子公司苏州S3振华电子厂西安S4华通电子公司北京S6607厂郑州S7爱华电子厂北京职工表:仓库号职工号工资WH2E11220WH1E31210WH2E41250WH3E51230WH1E61250使用SQL语句完成:DDL1. 写出创建上述表的语句命令:createtable仓库(仓库号varchar(8)primarykey,城市varchar(8),面积int);createtable订购单(订购单号varchar(8)primarykey,职工号varchar(8),供应商号varchar(8),订购日期nchar(8)createtable供应商(供应商号varchar(8)primarykey,供应商名varchar(18),地址varchar(8)createtable职工(职工号varchar(8)primarykey,仓库号varchar(8),工资int)DML2. 给出插入上述数据的insert语句命令:insertinto仓库values(WH1,北京,370)insertinto仓库values(WH2,上海,500)insertinto仓库values(WH3,广州,200)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,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职工values(E4,WH2,1250)insertinto职工values(E5,WH3,1230)insertinto职工values(E6,WH1,1250)单表查询3. 检索职工关系中的所有信息命令:select*from职工结果:4. 检索供应商关系中的所有信息命令:select*from供应商结果:5. 检索六月之后的所有订单命令:SELECT*FROM订购单WHEREDATEDIFF(MONTH,2001-06-0100:00:00.000,订购日期)=0;结果:6. 检索面积大于400的仓库命令:select*from仓库where面积400结果:7. 检索哪些职工的工资多于1210命令:select*from职工where工资1210结果:8. 检索仓库是“WH1”或“WH2”并且面积大于400的城市命令:select城市from仓库where仓库号=WH1and面积400unionselect城市from仓库where仓库号=WH2and面积400结果:9. 找出仓库面积在400到600的仓库命令:select*from仓库where面积between400and600结果:10. 找出名中包含“厂”的所有供应商的名命令:select供应商名from供应商where供应商名like%厂%结果:11. 找出不在西安的供应商命令:select*from供应商exceptselect*from供应商where地址=西安或者:select*from供应商wherenot地址=西安结果:12. 找出不在北京的仓库命令:select*from仓库exceptselect*from仓库where城市=北京结果:13. 按工资降序排列出所有职工的信息命令:select*from职工orderby工资desc结果:14. 先按仓库号升序排列,再按工资降序排列命令:select*from职工orderby仓库号asc,工资desc结果:15. 在仓库表中统计一下有几个仓库命令:selectCOUNT(*)仓库数from仓库结果:16. 在职工表中统计一下有几个仓库命令:selectCOUNT(distinct仓库号)仓库数from职工结果:17. 求总的仓库面积命令:selectsum(面积)总面积from仓库结果:聚合查询18. 每个职工的订单数命令:select职工号,count(*)订单数from订购单groupby职工号结果:19. 订单数大于3的职工命令:select职工号,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. 哪些城市至少有一个订单(从仓库角度考虑)命令:selectdistinct城市from订购单join职工on订购单.职工号=职工.职工号join仓库on职工.仓库号=仓库.仓库号结果:24. 找出没有任何订单的城市命令:select城市from仓库exceptselectdistinct城市from订购单join职工on订购单.职工号=职工.职工号join仓库on职工.仓库号=仓库.仓库号结果:25. 找出和E4有同样工资的所有职工命令:selectb.职工号,b.仓库号,b.工资from职工ajoin职工bona.工资=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职工号,工资from职工join仓库on职工.仓库号=仓库.仓库号where城市=北京结果:29. 找出在北京仓库里工作的职工命令:select职工号,工资from职工join仓库on职工.仓库号=仓库.仓库号where城市=北京结果:30. 求广州和上海仓库职工的总工资命令:selectSUM(工资)总工资from职工join仓库on职工.仓库号=仓库.仓库号where城市=广州or城市=上海结果:31. 求所有职工工资都大于1210的仓库的平均面积命令:selectavg(面积)平均面积from(select仓库号from职工exceptselect仓库号from职工where工资=2)a结果:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号