数据库sql查询语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库结构如下:
仓库(仓库号, 城市, 面积)
订购单(职工号, 供应商号, 订购单号, 订购日期)供应商(供应商号, 供应商名, 地址)
职工(仓库号, 职工号, 工资)
具体数据如下:
仓库表:
职工表:
使用SQL语句完成:
DDL
1.写出创建上述表的语句
命令:
create table仓库(仓库号varchar(8)primary key,城市varchar(8),面积int); create table订购单(订购单号varchar(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)DML 2.给出插入上述数据的insert语句
命令:
insert into仓库values('WH1','',370)
insert into仓库values('WH2','',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订购单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','爱华电子厂','')
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职工
结果:
4.检索供应商关系中的所有信息
命令:select*from供应商
结果:
5.检索六月之后的所有订单
命令:
SELECT*FROM订购单WHERE DATEDIFF(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 select城市from仓库where仓库号='WH2'and面积>400
结果:
9.找出仓库面积在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*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.求总的仓库面积
命令:select sum(面积)总面积from仓库
结果:
聚合查询
18.每个职工的订单数
命令:select职工号,count(*)订单数from订购单group by职工号
结果:
19.订单数大于3的职工
命令:select职工号,COUNT(*)订单数from订购单group by职工号having COUNT(*)>3结果: