SQL查询复习题1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、有两个关系:

C(CNO,CN,PCNO)

SC(SNO,CNO,G)

其中,C为课程表,对应的属性分别是课程号、课程名、选修课号;SC为学生选课表,对应的属性分别是学号、课号和成绩。用SQL语言写出:

(1)对关系SC中课号等于C1的选择运算

(2)对关系C的课号、课程名的投影运算

(3)两个关系的自然连接运算

(1)SELECT *

FROM SC

WHERE CNO=‘C1’

(2)SELECT CNO,CN

FROM C

(3)SELECT O,,C.PCNO,SC.SNO,SC.G

FROM C, SC

WHERE O=O

2、设有如下4个关系模式:

书店(书店编号,书店名,地址)

图书(书号,书名,定价)

图书馆(馆号,馆名,城市,电话)

图书发行(馆号,书号,书店号,数量)

请回答下列问题:

(1)用SQL语句检索已经发行的图书中最贵和最便宜的书名和定价

(2)写出下列SQL语句所表达的中文含义:

SELECT 馆名

FROM 图书馆

WHERE 馆名IN

(SELECT 馆号

FROM 图书发行

WHERE 书号IN

(SELECT 书号

FROM 图书

WHERE 书名=‘数据库系统基础’)

(1)SELECT 图书.书名,图书.定价

FROM 图书

WHER 定价=(SELECT MAX(定价)

FROM 图书,图书发行

WHERE 图书.书号=图书发行.书号)

SELECT 图书.书名,图书.定价

FROM 图书

WHER 定价=(SELECT MIN(定价)

FROM 图书,图书发行

WHERE 图书.书号=图书发行.书号)

(2)查询拥有已发行的‘数据库系统基础’一书的图书馆馆名。

3、设有职工关系模式如下:

people(pno,pname,sex,job,wage,dptno)

其中,pno为职工号,pname为职工姓名,sex为性别,job为职业,wage为工资,dptno为所在部门号。请写出下列查询使用的SQL语句:

(1)查询工资比其所在部门平均工资高的所有职工信息

(2)查询工资大于‘赵明华’工资的所有职工信息

(1)SELECT *

FROM people x

WHERE wage>( SELECT A VG(wage)

FROM people y

WHERE x.dptno=y.dptno)

(2)SELECT *

FROM people

WHERE wage>( SELECT wage

FROM people

WHERE pname=’赵明华’)

4、设有三个基本表:A表(A#{商店代码},ANAME{商店名},WQTY{店员人数},CITY{所在城市});B表(B#{商品号},BNAME{商品名称},PRICE{价格},QTY{商品数量});AB表(A#,B#,QTY)。试用SQL语句写出下列查询:(1)找出店员人数不超过100人或者在长沙市的所有商店的商店代码和商店名;(2)找出供应书包的商店名;

(3)找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市;(1)SELECT A#,ANAME

FROM A,B,AB

WHERE WQTY<=100 OR CITY=‘长沙市’

(2)SELECT A.ANAME

FROM A,B,AB

WHERE A.A#=AB.A# AND B.B#=AB.B# AND B.BNAME=‘书包’(3)SELECT A.ANAME,A.CITY

FROM A,AB

WHERE A.A#=AB.A# AND AB.B# IN

(SELECT AB.B#

FROM AB

WHERE A#=’256’)

5、设有学生表S(SNO,SN)和学生选修课程表SC(SNO,CNO,CN,G),试用SQL语句完成以下操作:

(1)建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序(2)从视图V-SSC上查询平均成绩在90分以上的SN,CN,和G

(1)CREATE VIEW V-SSC(SNO,SN,CNO,CN,G)

AS SELECT S.SNO,S.SN,O,,SC.G

FROM S,SC

WHERE S.SNO=SC.SNO

ORDER BY CNO

(2)SELECT SN,CN,G

FROM V-SSC

GROUP BY SNO

HA VING A VG(G)>90

6、设有4个关系模式:

S(SNO,SNAME,STATE,CITY):S为供应商,属性依次为:供应商号、供应商名、所在城市;

P(PNO,PNAME,COLOR,WEI,PRICE):P表示零件,属性依次为:零件号、零件名、零件颜色、零件重量和单价;

J(JNO,JNAME,CITY):J表示工程,属性依次为:工程号、工程名、所在城市

SPJ(SNO,PNO,JNO,QTY)SPJ表示供货关系,属性依次为:供应商号、零件号、工程号和供货数量;

用SQL语句实现下面的查询要求:

(1)查询供应了全部零件的供应商名和其所在城市

(2)查询供应红色零件的供应商名

[select * from A where exists(select * from B where A.a=B.a):

exists表示,对于A中的每一个记录,如果,在表B中有记录,其属性a的值与表A这个记录的属性a的值相同,则表A的这个记录是符合条件的记录,

如果是NOT exists,则表示如果表B中没有记录能与表A这个记录连接,则表A的这个记录是符合条件的记录

]

(1)SELECT SNAME ,CITY

FROM S

WHERE NOT EXISTS

(SELECT *

FROM P

WHERE NOT EXISTS

(SELECT *

FROM SPJ

WHERE SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO)

(2)SELECT SNAME

FROM S,P,SPJ

WHERE S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND P.COLOR=’红色’

相关文档
最新文档