1、数据库 sql1数据库结构如下:仓库(仓库号, 城市, 面积)订购单(职工号, 供应商号, 订购单号, 订购日期)供应商(供应商号, 供应商名, 地址)职工(仓库号, 职工号, 工资)具体数据如下:仓库表:仓库号 城市 面积WH1 北京 370WH2 上海 500WH3 广州 200WH4 武汉 400订购单表:职工号 供应商号 订购单号 订购日期E3 S7 OR67 06/23/01E1 S4 OR73 07/28/01E5 S4 OR76 05/25/01E6 S6 OR77 05/26/01E3 S4 OR79 06/13/01E1 S2 OR80 08/29/01E3 S3 OR90
2、09/01/01E3 S3 OR91 07/13/01供应商表:供应商号 供应商名 地址S2 名硕电子公司 苏州S3 振华电子厂 西安S4 华通电子公司 北京S6 607 厂 郑州S7 爱华电子厂 北京职工表:仓库号 职工号 工资WH2 E1 1220WH1 E3 1210WH2 E4 1250WH3 E5 1230WH1 E6 1250数据库 sql2使用 SQL 语句完成:DDL1. 写出创建上述表的语句命令:create table 仓库(仓库号 varchar(8) primary key, 城市 varchar(8), 面积 int);create table 订购单(订购单号 va
3、rchar(8) primary key,职工号 varchar(8), 供应商号 varchar(8), 订购日期 nchar(8)create table 供应商(供应商号 varchar(8) primary key, 供应商名 varchar(18), 地址 varchar(8)create table 职工(职工号 varchar(8) primary key,仓库号 varchar(8), 工资 int)DML2. 给出插入上述数据的 insert 语句命令:insert into 仓库 values(WH1,北京, 370)insert into 仓库 values(WH2,上海
4、, 500)insert into 仓库 values(WH3,广州, 200)insert into 仓库 values(WH4,武汉, 400)insert into 订购单 values(OR67,E3,S7,06/23/01)insert into 订购单 values(OR73,E1,S4,07/28/01)insert into 订购单 values(OR76,E5,S4,05/25/01)insert into 订购单 values(OR77,E6,S6,05/26/01)insert into 订购单 values(OR79,E3,S4,06/13/01)insert into
5、 订购单 values(OR80,E1,S2,08/29/01)insert into 订购单 values(OR90,E3,S3,09/01/01)insert into 订购单 values(OR91,E3,S7,07/13/01)insert into 供应商 values(S2,名硕电子公司 ,苏州)insert into 供应商 values(S3,振华电子厂 ,西安 )insert into 供应商 values(S4,华通电子公司 ,北京)insert into 供应商 values(S6,607厂, 郑州)insert into 供应商 values(S7,爱华电子厂 ,北京
6、)insert into 职工 values(E1,WH2,1220)insert into 职工 values(E3,WH1,1210)insert into 职工 values(E4,WH2,1250)insert into 职工 values(E5,WH3,1230)insert into 职工 values(E6,WH1,1250)单表查询3. 检索职工关系中的所有信息命令:select * from 职工结果:数据库 sql34. 检索供应商关系中的所有信息命令:select * from 供应商结果:5. 检索六月之后的所有订单命令:SELECT *FROM 订购单 WHERE D
7、ATEDIFF(MONTH,2001-06-01 00:00:00.000,订购日期)=0;结果:6. 检索面积大于 400 的仓库命令:select * from 仓库 where 面积 400结果:7. 检索哪些职工的工资多于 1210命令:select * from 职工 where 工资 1210结果:8. 检索仓库是“WH1”或“ WH2”并且面积大于 400 的城市命令:select 城市 from 仓库 where 仓库号= WH1 and 面积400 union 数据库 sql4select 城市 from 仓库 where 仓库号=WH2 and 面积400结果:9. 找出仓
8、库面积在 400 到 600 的仓库命令:select * from 仓库 where 面积 between 400 and 600结果:10. 找出名中包含 “厂”的所有供应商的名命令:select 供应商名 from 供应商 where 供应商名 like %厂%结果:11. 找出不在西安的供应商命令:select * from 供应商 except select * from 供应商 where 地址=西安 或者:select * from 供应商 where not 地址 = 西安结果:12. 找出不在北京的仓库命令:select * from 仓库 except select * f
9、rom 仓库 where 城市=北京结果:13. 按工资降序排列出所有职工的信息命令:select * from 职工 order by 工资 desc结果:数据库 sql514. 先按仓库号升序排列,再按工资降序排列命令:select * from 职工 order by 仓库号 asc ,工资 desc结果:15. 在仓库表中统计一下有几个仓库命令:select COUNT(*) 仓库数 from 仓库结果:16. 在职工表中统计一下有几个仓库命令:select COUNT(distinct 仓库号) 仓库数 from 职工结果:17. 求总的仓库面积命令:select sum(面积) 总
10、面积 from 仓库结果:聚合查询18. 每个职工的订单数命令:select 职工号, count(*) 订单数 from 订购单 group by 职工号结果:数据库 sql619. 订单数大于 3 的职工命令:select 职工号,COUNT(*) 订单数 from 订购单 group by 职工号 having COUNT(*)3结果:多表查询20. 找出在面积大于 400 的仓库中工作的职工命令:select 职工号 from 职工 join 仓库 on 职工.仓库号= 仓库.仓库号 where 面积400结果:21. 找出在北京工作的职工和他们的工资情况命令:select 职工号,工
11、资 from 职工 join 仓库 on 职工.仓库号=仓库. 仓库号 where 仓库.城市= 北京结果:22. 找出工资大于 1215 的职工和他们所在的城市命令:select 职工号,城市 from 职工 join 仓库 on 职工.仓库号=仓库. 仓库号 where 工资1215结果:子查询23. 哪些城市至少有一个订单(从仓库角度考虑)命令:select distinct 城市 from 订购单 join 职工 on 订购单.职工号=职工. 职数据库 sql7工号 join 仓库 on 职工. 仓库号= 仓库.仓库号结果:24. 找出没有任何订单的城市命令:select 城市 fro
12、m 仓库 except select distinct 城市 from 订购单 join 职工 on 订购单. 职工号= 职工.职工号 join 仓库 on 职工. 仓库号=仓库.仓库号结果:25. 找出和 E4 有同样工资的所有职工命令:select b.职工号,b. 仓库号,b. 工资 from 职工 a join 职工 b on a.工资=b.工资 where a.职工号=E4结果:26. 找出仓库面积大于 400 的仓库的所有职工命令:select 职工.职工号 ,职工.仓库号, 职工.工资 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 面积400结果:
13、27. 找出供应商在西安的职工和他们的工资情况命令:select 职工.职工号,工资 from 供应商 join 订购单 on 供应商. 供应商号=订购单.供应商号 join 职工 on 订购单. 职工号=职工. 职工号 where 地址= 西安结果:28. 找出不在北京仓库里工作的职工命令:select 职工号,工资 from 职工 join 仓库 on 职工.仓库号=仓库. 仓库号 except select 职工号,工资 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 城市=北京结果:数据库 sql829. 找出在北京仓库里工作的职工命令:select 职工号,工资 from 职工 join 仓库 on 职工.仓库号=仓库. 仓库号 where 城市=北京结果:30. 求广州和上海仓库职工的总工资命令:select SUM(工资) 总工资 from 职工 join 仓库 on 职工. 仓库号=仓库.仓库号 where 城市 =广州 or 城市= 上海结果:31. 求所有职工工资都大于 1210 的仓库的平均面积命令:select avg(面积) 平均面积 from (select 仓库号 from 职工 except select 仓库号 from 职工 where 工资=2) a结果:数据库 sql9
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。