关系数据库标准语言SQL练习题

发布时间 : 星期六 文章关系数据库标准语言SQL练习题更新完毕开始阅读

⑴ SELECT B FROM R,S WHERE R.A=S.A AND C>50; ⑵ UPDATE R

SET B=“b4” WHERE A IN(SELECT A FROM S WHERE C=40)

7.已知R和S两个关系如图所示。

R S 执行如下SQL⑴ CREATE AS SELECT ⑵ SELECT 试给出: ⑴ 视图H。

⑵ 对视图H的查询结果。 解:本题的结果如图所示。

视图H 对视图H的查询结果

8.已知关系R R 试用SQL语句⑴ 按属性A值,且将它们置于视

⑵ 在视图RAE解 ⑴ CREATE AS SELECT ⑵ SELECT * 9.已知学生表S(SNO,SN,SC(SNO,CN,GR)

其中:SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作: ⑴ 查询“信息系”的学生来自哪些省区。

⑵ 按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。 解:

⑴ SELECT DISTINCT PROV FROM S WHERE SD=“信息系” ⑵ SELECT SN,GR FROM S,SC

WHERE SD=“英语系”AND CN=“计算机”AND S.SNO=SC.SNO ORDWR BY GR DESC;

10.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:

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

⑴ CREATE VIEW V-SSC(SNO,SN,CNO,CN,G) AS SELECT S.SNO,S.SN,CNO,SC.CN,SC.G FROM S,SC WHERE S.SNO=SC.SNO ORDWR BY CNO ⑵ SELECT SN,CN,G

FROM V-SSC GROGP BY SNO HAVING AVG(G)>90

A a1 A a2 97 a3 a297 a397 98 98 98 99 99 B b1 B b2 b1 b3 b2 b3 b1 b2 b3 b1 b2 C c1 C c2 84 c2 92 98 72 84 95 88 94 VIEW RAE(A,CMAX,CMIN)

A,MAX(C),MIN(C) FROM R GROUP BY A; FROM RAE WHERE A=“98” S和学生选课表SC。其关系模式如下: SD,PROV) D d1 d2 d2 E e1 e2 e2 图RAE中。

中查询属性A=“8”记录。

B b2 b3 D d2 d2 E e2 e2 实现下列操作:

分组,求出每组中在属性C上的最大值和最小如图所示。

A a1 a2 a3 B b1 b2 b3 C c1 c2 c2 语句: VIEW A,B,B,D,

C c1 c2 c3 D d1 d2 d3 E e1 e2 e3 H (A,B,C,D,E)

R.C,D,E FROM R,S WHERE R.C=S.C; E FROM H WHERE C=“C2”

11.设有关系模式: SB(SN,SNAME,CITY)

其中:SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。 PB(PN,PNAME,COLOR,WEIGHT)

其中:P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。 JB(JN,JNAME,CITY)

其中:JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程式所在城市,主关键字为JN。 SPJB(SN,PN,JN,QTY)

其中:SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。

如图所示表示供应商(S)—零件(P)—工程(J)数据库表,写出实现以下各题功能的SQL语句: (1)取出所有工程的全部细节: SELECT * FROM JB TO SCREEN; JN JNAME CITY

-------------------------------------- J1 JN1 上海 J2 JN2 广州 J3 JN3 南京 J4 JN4 南京 J5 JN5 上海 J6 JN6 武汉 J7 JN7 上海

(2)取出所在城市为上海的所有工程的全部细节; SELECT * FROM JB WHERE CETY=“上海”TO SCREEN; JN JNAME CITY

-------------------------------------- J1 JN1 J5 JN5 J7 JN7

(3)取出重量最轻的零件代号; SELECT PN FROM PB WHERH WEIGHT=

(SELECT MIN(WEIGHT) FROM PB)TO SCREEN; PN ―――― P5 ――――

(4)取出为工程式J1提供零件的供应商代号;

SELECT SN FROM SPJB WHERE JN=“J1”TO SCREEN; SN ―――― S1 S2 S3 ――――

(5)取出为工程J1提供P1的供应商代号;

SELECT SN FROM SPJB

WHERE JN=“J1”AND PN=“P1” TO SCREEN; SN ―― S1 ――

(6)取出由供应商S1提供零件的工程名称; SELECT JB.JNAME FROM JB,SPJB

WHERE JB.JN=SPJB.JN AND SPJB.SN=“S1” TO SCREEN; JNAME ―――――― JN1 JN4

――――――

(7)取出供应商S1提供的零件的颜色; SELECT DISTINCT PB.COLOR FROM PB,SPJB

WHERE PB.PN=SPJB.PN AND SPJB.SN=“1”TO SCREEN; COLOR ――― 红 ―――

(8)取出为工程J1或J2提供零件的供应商代号; SELECT DISTINCT SN FROM SPJB

WHERE JN=“J1” OR JN=“J2”TO SCREEN; SN ――― S1 S2 S3 S5 ―――

(9)取出为工程J1提供红色零件的供应商代号; SELECT DISTINCT SPJB.SN FROM SPJB,PB

WHERE PB.PN=SPJB.PN AND SPJB.JN=“J1”AND PB.COLOR=“红” TO SCREEN; SN ――- S1 ――-

(10)取出为所在城市为上海的工程提供零件的供应商代号; SELECT DISTINCT SPJB.SN FROM SPJB,JB

WHERE SPJB.JN=JB.JN AND JB.CITY=“上海”TO SCREEN; SN ――― S1 S2 S3

S4 S5 ――-

(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号; SELECT SPJB.SN FROM PB,JB,SPJB

WHERE SPJB.PN=PB.PN AND JB.JN=SPJB.JN AND PB.COLOR=‘红’AND (JB.CITY=“上海”OR JB.CITY=“北京”TO SCREEN; SN ―― S1 S4 ――

(12)取出供应商与工程所在城市相同的供应商提供的零件代号; SELECT DISTINCT SPJB.PN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=JB.CITY TO SCREEN; PN ―――― P1 P2 P3 P4 P5 P6 ―――――

(13)取出上海的供应商提供给上海的任一工程的零件的代号; SELECT SPJB.PN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=“上海” AND JB.CITY=“上海” TO SCREEN; PN ―――― P1 P6 ――――

(14)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号; SELECT DISTINCT SPJB.JN FROM SB,JB,SPJB

WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY TO SCREEN; JN ―――― J1 J2 J3 J4 J5 J6 J7

联系合同范文客服:xxxxx#qq.com(#替换为@)