SQL语言习题及答案(好)ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. 1
(第一大题) 1.检索部门Research的所有职工的姓名和家庭地址
➢ 关系代数
select ename, addr from E, D where D.d# = E.d# and dname = ’Rwenku.baidu.comsearch’
. 2
(第一大题)
2.检索位于Stafford的每个项目的编号、主管部门的 编号及其部门负责人的姓名和家庭地址
▪ 经销商Agents (编号aid, 名称aname, 城市city, 佣金百分 比percent)
▪ 商品Products (编号pid, 商品名pname, 城市city, 库存数 量quantity, 单价price)
▪ 订单Orders (编号ordno, 订购月份month, 顾客编号cid, 经销商编号aid, 商品编号pid, 订购数量qty, 购买金额 dollars)
请用SQL语言来表示下述数据操作要求。
. 10
(第二大题) 1.检索每个经销商销售每一种产品的总数量(结果列有:
经销商的编号,产品的编号,销售总数量)
➢ 关系代数
Select aid, pid, sum(qty) from Orders group by aid, pid
. 11
2.检索符合下述要求的客户的编号:在该客户订购过的
. 8
(第一大题) 8.检索工资收入最高的职工的姓名 ➢ 关系代数
Select ename from E where salary IN (select max(salary) From E )
. 9
(第二大题)
▪ 顾客Customers (编号cid, 姓名cname, 城市city, 销售折扣discnt)
select O2.cid from Orders O2 where O2.aid = O1.aid and O2.pid = O1.pid))
. 14
5.检索仅通过a03和a05两个经销商订购过商品的客户编
号 ➢ 关系代数
▪ 答案 Select O1.cid from Orders O1 where O1.cid not in ( select O2.cid from Orders O2 where O2.aid <> ‘a03’ and O2.aid <> ‘a05’ )
(第一大题)
职工 E(ename,e#,bdate,addr,salary,se#,d#) 部门 D(dname,d#,部门负责人的工号mgre#)
项目 P(pname,p#,所在城市city,主管部门编号d#) 工作 W(职工工号e#,项目编号p#,工作时间hours) 职工家属Depend(e#,家属的姓名name,家属的性别sex)
. 12
3.检索没有为居住在Duluth的任何客户订购过任何商品
的经销商的编号
➢ 关系代数
Select aid from agents where aid not in ( select aid from Customers C, Orders O where C.cid = O.cid and C.city = ‘Duluth’)
where E.e# = Depend.e# and E.e# in (select E.se# from E)
. 7
(第一大题) 7.检索不带家属的职工的姓名 ➢ 关系代数
▪ 答案
select ename from E where e# NOT IN ( select e# from Depend )
Where P.d# = 5 and p# not in ( Select p# from W Where W.e# = E.e# ) )
. 4
(第一大题) 4.检索职工Smith所参与的或者主管部门为该职 工所在部门的项目的编号
➢ 关系代数 ( select p From E, W where ename = ‘Smith’ and E.e# = W.e# ) UNION ( select p# from E, P where ename = ‘Smith’ and E.d# = P.d# )
➢ 关系代数
Select P.p#, P.d#, ename, addr from P, D, E where P.d# = D.d# and D.mgre# = E.e#
and city=’ Stafford
. 3
(第一大题) 3.检索参与了5号部门的所有项目的职工的姓名 ➢ 关系代数
select ename from E Where not exist ( Select * from P
所有商品中,每一种商品的每笔订单的订购数量均达 到或超过300 ➢ 关系代数 Select T.cid From ( select cid, pid, avg(qty) as q_avg from Orders group by cid, pid ) T Group by T.cid Having min(T.q_avg) >= 300
. 13
4.检索为所有客户订购过同一种商品的经销商的编号
➢关系代数
Select O1.aid from Orders O1, Customers C1 Where O1.cid = C1.cid and not exist (
select * from Customers C2 where C2.cid not in (
. 6
(第一大题)
6.检索至少有一个家属且具有管理员身份的职工
的姓名
➢ 关系代数
答案1: select E1.ename from E E1, E E2, Depend D1
where E1.e# = D1.e# and E1.e# = E2.se#
答案2:
select E.ename
from E , Depend
. 5
(第一大题) 5.检索拥有两个或两个以上家属的职工的姓名
➢ 关系代数(两种写法) ▪ 答案1: Select ename from E, Depend D1, Depend D2 Where E.e# = D1.e# and D1.e# = D2.e# and D1.name <> D2.name ▪ 答案2: select ename from E, Depend Where E.e# = Depend.e# group by E.e#, E.ename having Count(*) >= 2
相关文档
最新文档