数据库sql查询语句练习2_习题_结果(单世民)仓库_习题_第1页
数据库sql查询语句练习2_习题_结果(单世民)仓库_习题_第2页
数据库sql查询语句练习2_习题_结果(单世民)仓库_习题_第3页
数据库sql查询语句练习2_习题_结果(单世民)仓库_习题_第4页
数据库sql查询语句练习2_习题_结果(单世民)仓库_习题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库结构如下:仓库(仓库号, 城市, 面积)订购单(职工号, 供应商号, 订购单号, 订购日期)供应商(供应商号, 供应商名, 地址)职工(仓库号, 职工号, 工资)具体数据如下:仓库表:仓库号城市面积WH1北京370WH2上海500WH3广州200WH4武汉400订购单表:职工号供应商号订购单号订购日期E3S7OR6706/23/01E1S4OR7307/28/01E5S4OR7605/25/01E6S6OR7705/26/01E3S4OR7906/13/01E1S2OR8008/29/01E3S3OR9009/01/01E3S3OR9107/13/01供应商表:供应商号供应商名地址S2名

2、硕电子公司苏州S3振华电子厂西安S4华通电子公司北京S6607厂郑州S7爱华电子厂北京职工表:仓库号职工号工资WH2E11220WH1E31210WH2E41250WH3E51230WH1E61250使用SQL语句完成:DDL1. 写出创建上述表的语句命令:create table 仓库(仓库号 varchar(8) primary key, 城市 varchar(8), 面积 int);create table 订购单(订购单号 varchar(8) primary key,职工号 varchar(8), 供应商号 varchar(8), 订购日期 nchar(8)create table

3、供应商(供应商号 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','上海',500)insert into 仓库 values('WH3',&#

4、39;广州',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',&#

5、39;05/25/01')insert into 订购单 values('OR77','E6','S6','05/26/01')insert into 订购单 values('OR79','E3','S4','06/13/01')insert into 订购单 values('OR80','E1','S2','08/29/01')insert into 订购单 values('OR90&#

6、39;,'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',&

7、#39;华通电子公司','北京')insert into 供应商 values('S6','607厂','郑州')insert into 供应商 values('S7','爱华电子厂','北京')insert into 职工 values('E1','WH2',1220)insert into 职工 values('E3','WH1',1210)insert into 职工 values('E4'

8、,'WH2',1250)insert into 职工 values('E5','WH3',1230)insert into 职工 values('E6','WH1',1250)单表查询3. 检索职工关系中的所有信息命令:select * from 职工结果: 4. 检索供应商关系中的所有信息命令:select * from 供应商结果:5. 检索六月之后的所有订单命令:SELECT *FROM 订购单 WHERE DATEDIFF(MONTH,'2001-06-01 00:00:00.000',订购

9、日期)>=0;结果:6. 检索面积大于400的仓库命令:select * from 仓库 where 面积>400结果:7. 检索哪些职工的工资多于1210命令:select * from 职工 where 工资>1210结果:8. 检索仓库是“WH1”或“WH2”并且面积大于400的城市命令:select 城市 from 仓库 where 仓库号='WH1' and 面积>400 union select 城市 from 仓库 where 仓库号='WH2' and 面积>400结果:9. 找出仓库面积在400到600的仓库命令:

10、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 s

11、elect * from 仓库 where 城市='北京'结果:13. 按工资降序排列出所有职工的信息命令:select * from 职工 order by 工资 desc结果:14. 先按仓库号升序排列,再按工资降序排列命令:select * from 职工 order by 仓库号 asc ,工资 desc结果:15. 在仓库表中统计一下有几个仓库命令:select COUNT(*) 仓库数 from 仓库结果:16. 在职工表中统计一下有几个仓库命令:select COUNT(distinct 仓库号) 仓库数 from 职工结果:17. 求总的仓库面积命令:selec

12、t sum(面积) 总面积 from 仓库结果:聚合查询18. 每个职工的订单数命令:select 职工号,count(*) 订单数 from 订购单 group by 职工号结果:19. 订单数大于3的职工命令:select 职工号,COUNT(*) 订单数 from 订购单 group by 职工号 having COUNT(*)>3结果: 多表查询20. 找出在面积大于400的仓库中工作的职工命令:select 职工号 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 面积>400结果:21. 找出在北京工作的职工和他们的工资情况命令:select

13、 职工号,工资 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 仓库.城市='北京'结果:22. 找出工资大于1215的职工和他们所在的城市命令:select 职工号,城市 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 工资>1215 结果: 子查询23. 哪些城市至少有一个订单(从仓库角度考虑)命令:select distinct 城市 from 订购单 join 职工 on 订购单.职工号=职工.职工号 join 仓库 on 职工.仓库号=仓库.仓库号结果:24. 找出没有任何订单的城市命令:select

14、城市 from 仓库 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 面积&

15、gt;400结果:27. 找出供应商在西安的职工和他们的工资情况命令:select 职工.职工号,工资 from 供应商 join 订购单 on 供应商.供应商号=订购单.供应商号 join 职工 on 订购单.职工号=职工.职工号 where 地址='西安'结果:28. 找出不在北京仓库里工作的职工命令:select 职工号,工资 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 except select 职工号,工资 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 城市='北京'结果:29. 找出在北京仓库里工

16、作的职工命令:select 职工号,工资 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 城市='北京'结果:30. 求广州和上海仓库职工的总工资命令:select SUM(工资) 总工资 from 职工 join 仓库 on 职工.仓库号=仓库.仓库号 where 城市='广州' or 城市='上海'结果:31. 求所有职工工资都大于1210的仓库的平均面积命令:select avg(面积) 平均面积 from (select 仓库号 from 职工 except select 仓库号 from 职工 where 工资<1210) a join 仓库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论