SQL语言习题及答案(好)_第1页
SQL语言习题及答案(好)_第2页
SQL语言习题及答案(好)_第3页
SQL语言习题及答案(好)_第4页
SQL语言习题及答案(好)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、1,(第一大题),职工 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),2,(第一大题)1.检索部门Research的所有职工的姓名和家庭地址,关系代数 select ename, addr from E, D where D.d# = E.d# and dname = Research,3,(第一大题)2.检索位于Staff

2、ord的每个项目的编号、主管部门的编号及其部门负责人的姓名和家庭地址,关系代数 Select P.p#, P.d#, ename, addr from P, D, E where P.d# = D.d# and D.mgre# = E.e# and city= Stafford,4,(第一大题) 3.检索参与了5号部门的所有项目的职工的姓名,关系代数 select ename from E Where not exist ( Select * from P Where P.d# = 5 and p# not in ( Select p# from W Where W.e# = E.e# ) )

3、,5,(第一大题) 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# ),6,(第一大题) 5.检索拥有两个或两个以上家属的职工的姓名,关系代数(两种写法) 答案1: Select ename from E, Depend D1, Depend D2 Where E.e# = D1.e# and D1.e# = D2.e#

4、 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,7,(第一大题) 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 where E.e# = Depe

5、nd.e# and E.e# in (select E.se# from E),8,(第一大题) 7.检索不带家属的职工的姓名,关系代数 答案 select ename from E where e# NOT IN ( select e# from Depend ),9,(第一大题) 8.检索工资收入最高的职工的姓名,关系代数 Select enamefrom E where salary IN (select max(salary) From E ),10,(第二大题),顾客Customers (编号cid, 姓名cname, 城市city, 销售折扣discnt) 经销商Agents (编

6、号aid, 名称aname, 城市city, 佣金百分比percent) 商品Products (编号pid, 商品名pname, 城市city, 库存数量quantity, 单价price) 订单Orders (编号ordno, 订购月份month, 顾客编号cid, 经销商编号aid, 商品编号pid, 订购数量qty, 购买金额dollars) 请用SQL语言来表示下述数据操作要求。,11,(第二大题),关系代数 Select aid, pid, sum(qty) from Orders group by aid, pid,1.检索每个经销商销售每一种产品的总数量(结果列有:经销商的编号

7、,产品的编号,销售总数量),12,关系代数 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,2.检索符合下述要求的客户的编号:在该客户订购过的所有商品中,每一种商品的每笔订单的订购数量均达到或超过300,13,关系代数 Select aid from agents where aid not in ( select aid from Customers C, Orders O wher

8、e C.cid = O.cid and C.city = Duluth),3.检索没有为居住在Duluth的任何客户订购过任何商品的经销商的编号,14,关系代数 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 ( select O2.cid from Orders O2 where O2.aid = O1.aid and O2.pid = O1.pid),4.检索为所有客户订购过同一种商品

9、的经销商的编号,15,关系代数 答案 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 ),5.检索仅通过a03和a05两个经销商订购过商品的客户编号,16,关系代数 Select pid from Products P where not exist ( select * from Customers C where C.city = Dallas and C.cid not in ( select O.cid from

10、 Orders O where O.pid = P.pid ) ),6.检索居住在Dallas的所有客户都订购过的商品编号,17,关系代数 Select aid from Agents where percent IN ( select max(A1.percent) from Agents A1 ),7.检索享有最高佣金百分比的经销商的编号,18,关系代数 答案 Select O1.cid, sum(O1.dollars) From Orders O1 Where O1.cid not in ( select O2.cid from Orders O2 where O2.aid a04 )

11、Group by O1.cid,8.检索仅仅通过a04号经销商订购过商品的客户编号,并给出每个客户的订购总金额,19,关系代数 答案 Select aid, percent From Agents A Where not exist ( select * from Customers C where C.city = Duluth and C.cid not in ( select O.cid from Orders O where O.aid = A.aid) Order by percent desc,9.检索为居住在Duluth的所有客户订购过商品的经销商的编号及其佣金百分比,并按照佣金百分比的降序输

温馨提示

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

评论

0/150

提交评论