资源描述:
《SQL语言习题及答案(好).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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)1(第一大题)1.检索部门Research的所有职工的姓名和家庭地址关系代数selectename,addrfromE,DwhereD.d#=E.d#anddname=’Research’2(第一大题)2.检索位于Staf
2、ford的每个项目的编号、主管部门的编号及其部门负责人的姓名和家庭地址关系代数SelectP.p#,P.d#,ename,addrfromP,D,EwhereP.d#=D.d#andD.mgre#=E.e#andcity=’Stafford3(第一大题)3.检索参与了5号部门的所有项目的职工的姓名关系代数selectenamefromEWherenotexist(Select*fromPWhereP.d#=5andp#notin(Selectp#fromWWhereW.e#=E.e#))4(第一大题)4.检索职工Smith所参与的或者主管
3、部门为该职工所在部门的项目的编号关系代数(selectpFromE,Wwhereename=‘Smith’andE.e#=W.e#)UNION(selectp#fromE,Pwhereename=‘Smith’andE.d#=P.d#)5(第一大题)5.检索拥有两个或两个以上家属的职工的姓名关系代数(两种写法)答案1:SelectenamefromE,DependD1,DependD2WhereE.e#=D1.e#andD1.e#=D2.e#andD1.name<>D2.name答案2:selectenamefromE,DependWher
4、eE.e#=Depend.e#groupbyE.e#,E.enamehavingCount(*)>=26(第一大题)6.检索至少有一个家属且具有管理员身份的职工的姓名关系代数答案1:selectE1.enamefromEE1,EE2,DependD1whereE1.e#=D1.e#andE1.e#=E2.se#答案2:selectE.enamefromE,DependwhereE.e#=Depend.e#andE.e#in(selectE.se#fromE)7(第一大题)7.检索不带家属的职工的姓名关系代数答案selectenamefro
5、mEwheree#NOTIN(selecte#fromDepend)8(第一大题)8.检索工资收入最高的职工的姓名关系代数SelectenamefromEwheresalaryIN(selectmax(salary)FromE)9(第二大题)顾客Customers(编号cid,姓名cname,城市city,销售折扣discnt)经销商Agents(编号aid,名称aname,城市city,佣金百分比percent)商品Products(编号pid,商品名pname,城市city,库存数量quantity,单价price)订单Orders(编
6、号ordno,订购月份month,顾客编号cid,经销商编号aid,商品编号pid,订购数量qty,购买金额dollars)请用SQL语言来表示下述数据操作要求。10(第二大题)关系代数Selectaid,pid,sum(qty)fromOrdersgroupbyaid,pid1.检索每个经销商销售每一种产品的总数量(结果列有:经销商的编号,产品的编号,销售总数量)11关系代数SelectT.cidFrom(selectcid,pid,avg(qty)asq_avgfromOrdersgroupbycid,pid)TGroupbyT.cidH
7、avingmin(T.q_avg)>=3002.检索符合下述要求的客户的编号:在该客户订购过的所有商品中,每一种商品的每笔订单的订购数量均达到或超过30012关系代数Selectaidfromagentswhereaidnotin(selectaidfromCustomersC,OrdersOwhereC.cid=O.cidandC.city=‘Duluth’)3.检索没有为居住在Duluth的任何客户订购过任何商品的经销商的编号13关系代数SelectO1.aidfromOrdersO1,CustomersC1WhereO1.cid=C1.
8、cidandnotexist(select*fromCustomersC2whereC2.cidnotin(selectO2.cidfromOrdersO2wher