数据库sql查询语句Word文档下载推荐.docx
《数据库sql查询语句Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库sql查询语句Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
武汉
400
订购单表:
职工号
供应商号
订购单号
订购日期
E3
S7
OR67
06/23/01
E1
S4
OR73
07/28/01
E5
OR76
05/25/01
E6
S6
OR77
05/26/01
OR79
06/13/01
S2
OR80
08/29/01
S3
OR90
09/01/01
OR91
07/13/01
供应商表:
供应商名
地址
名硕电子公司
苏州
振华电子厂
西安
华通电子公司
607厂
郑州
爱华电子厂
职工表:
工资
1220
1210
E4
1250
1230
使用SQL语句完成:
DDL
1.写出创建上述表的语句
命令:
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)DML
2.给出插入上述数据的insert语句
insertinto仓库values('
WH1'
'
北京'
370)
WH2'
上海'
500)
WH3'
广州'
200)
WH4'
武汉'
400)
insertinto订购单values('
OR67'
E3'
S7'
06/23/01'
)
OR73'
E1'
S4'
07/28/01'
OR76'
E5'
05/25/01'
OR77'
E6'
S6'
05/26/01'
OR79'
06/13/01'
OR80'
S2'
08/29/01'
OR90'
S3'
09/01/01'
OR91'
07/13/01'
insertinto供应商values('
名硕电子公司'
苏州'
振华电子厂'
西安'
华通电子公司'
607厂'
郑州'
爱华电子厂'
insertinto职工values('
1220)
1210)
E4'
1250)
1230)
单表查询
3.检索职工关系中的所有信息
select*from职工
结果:
4.检索供应商关系中的所有信息
select*from供应商
5.检索六月之后的所有订单
SELECT*FROM订购单WHEREDATEDIFF(MONTH,'
2001-06-0100:
00:
00.000'
订购日期)>
=0;
6.检索面积大于400的仓库
select*from仓库where面积>
7.检索哪些职工的工资多于1210
select*from职工where工资>
8.检索仓库是“WH1”或“WH2”同时面积大于400的都市
select都市from仓库where仓库号='
and面积>
400unionselect都市from仓库where仓库号='
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面积>
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.职工号='
26.找出仓库面积大于400的仓库的所有职工
select职工.职工号,职工.仓库号,职工.工资from职工join仓库on职工.仓库号=仓库.仓库号where面积>
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工资<
1210)ajoin仓库ona.仓库号=仓库.仓库号
32.求上海仓库中职工的最高工资
selectMAX(工资)最高工资from职工join仓库on职工.仓库号=仓库.仓库号where都市='
33.订单数大于或等于2的职工的工资
selecta.工资from(select职工.职工号,工资from职工join订购单on职工.职工号=订购单.职工号groupby职工.职工号,工资havingCOUNT(*)>
=2)a