您的当前位置:首页正文

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

2024-10-18 来源:威能网


第3章 关系数据库标准语言SQL

一.单项选择题

1.SQL语言是▁▁▁▁▁的语言,易学习。

A.过程化 B非过程化 C.格式化 D导航式 B

2.SQL语言是▁▁▁▁▁语言。

A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵

4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。

A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。

A.ALTER B.CREATE C.UPDATE D.INSERT

第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX

FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX

FROM S WHERE AGE>(SELECT AGE WHERE SN=“王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE

9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”)

D.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”)

10.检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是▁▁▁C▁▁。 SELECT S.SN,SC.C#,SC.GRADE

FROM S WHERE S.S#=SC.S# B.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.GRADE C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S# D.SELECT S.SN,SC.C#,SC.GRADE FROM S.SC

11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是▁B▁。 A.SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC

SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC

SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4

12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。 要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系▁▁D▁▁。 A.S B.SC,C C.S,SC D.S,C,SC

13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作▁▁▁▁▁不能执行。

职工表 部门表

A.从职工表中删除行(‘025’,‘王芳’,‘03’,720) B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中 C.将职工号为‘001’工资改为700 D.将职工号为‘038’部门号改为‘03’ B

14.若用如下的SQL语句创建一个student表: CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2));

可以插入到student表中的是▁▁▁▁▁。

A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,男,23) D.(‘1031,NULL,男,23)

职工号 职工名 001 005 025 038 李红 刘军 王芳 张强 部门号 工资 01 0l 03 02 580 670 720 650 部门号 部门名 0l 02 03 04 人事处 财务处 教务处 学生处 主任 高平 蒋华 许红 杜琼

B

二、填空题

1.SQL是▁▁▁▁▁▁▁▁▁▁。 结构化查询语言

2.SQL语言的数据定义功能包括▁▁▁▁▁▁▁、▁▁▁▁▁▁▁、▁▁▁▁▁▁▁和▁▁▁▁▁▁▁。 定义数据库 定义基本表 定义视图 定义索引

3.视图是一个虚表,它是从▁▁▁中导出的表。在数据库中,只存放视图的▁▁▁▁▁,不存视图的▁▁▁▁▁▁▁▁▁▁。 一个或几个基本表 定义 视图对应的数据 4.设有如下关系表R、S和T: R(BH,XM,XB,DWH) S(DWH,DW) T(BH,XM,XB,DWH)

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 SELECT * FROM R UNION SELECT * FROM T SELECT * FROM R WHERE DWH=‘100’ SELECT XM,XB FROM R

SELECT X,DWH FROM R WHERE XB=“女”

SELECT R.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWM FROM R,S WHERE R.DWH=S.DWH SELECT R.XM,R.XB,S.DWM

FROM R,S WHERE R.DWH=S.DWH AND R.XB=“男” 5.设有如下关系表R:

R(NO,NAME,SEX,AGE,CLASS) 主关键字的NO。

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列的SQL语句。 插入一个记录(25,“李明”“男”,21,“95031”); 插入“95031”班号为30、姓名为“郑和”的学生记录; 将学号为10的学生姓名改为“王华”; 将所有“95101班号改为“95091”; 删除学号为20的学生记录; 删除姓“王”的学生记录;

INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”) INSERT INTO R(NO,NAME,CLASS)VALUES(30,“郑和”,“95031”) UPDATE R SET NAME=“王华” WHERE NO=10

UPDATE R SET CLASS=“95091” WHERE CLASS=“95101” DELETE FROM R WHERE NO=20

DELETE FROM R WHERE NAME LIKE “王%” 习题3

1.叙述SQL语言支持的三级逻辑结构。

答:SQL语言支持的三级逻辑结构如图1所示.

在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在Visual Foxpro中每个表在存储中可用一具存储文件来表示(在ORACLE中,多个表存储在一个文件夹中。一个基本表就是一个关系,它不是由其人表导出的表。基本表是使用CDEATE TABLE语句建立的。

在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用CDEATE VIEW语句建立的。

在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA可以对物理存储文件进行操作。

2.叙述使用SQL语言实现各种关系运算的方法。

答:由Visual Foxpro支持的SQL语言没有提供关系的笛卡尔积、交和差运算。其全关系运算对应的SQL语句格式是: R∪S:SELECT语句(生成R) UNION

SELECT语句(生成S)

选择:SELECT * FROM <表> WHERE <指定选择的条件> 投影:SELECT <投影字段列表> FROM<表>

选择:SELECT <连接的字段列表> FROM <连接的两个表名> WHERE<连接条件>

3.设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果。 A AB

620 B

4

⑴ 找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。 SELECT A#,ANAME

FROM A WHERE WQTY<=100 OR CITY=“长沙”; ⑵ 找出供应书包的商店名。 SELECT A.ANAME FROM A,B,AB

WHERE A.A#=AB.A# AND B.B#=AB.B# AND B.BNAME=“书包”;

⑶ 找出至少供应了代号为“256”的商店所供应的全部商品的商店名和所在城市。

SELECT ANAME,CITY FROM A WHERE NOT EXSIST

(SELECT * FORM AB F WHERE A#=“256” AND NOT EXSIST (SELECT * FROM AB S WHERE A#=A.A# AND B#=F.B#));

书包 242 B# 1 2 3 BNAME 毛笔 羽毛球 收音机 PRICE 21 784 1325 第一百货商店 413 上海 A# 101 204 256 345 ANAME 韶山商店 前门百货商店 东风商场 铁道商店 WQTY 15 89 501 76 CITY 长沙 北京 北京 长沙 A# 101 101 101 101 204 256 256 345 345 345 620 B# 1 2 3 4 3 1 2 1 2 4 4 QTY 105 42 25 104 61 241 91 141 18 74 125

4.设有图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。按下列要求用SQL语言进行设计。

查询按出版社统计其出版图书总数。 SELECT PUB,COUNT(BNO) FROM TS GROUP BY PUB

5.已知三个关系R、S和T如图所示。试用SQL语句实现如下操作:

R S T A B C A D E a1 b1 20 a1 d1 15 a1 b2 22 a2 d2 18 a2 b1 18 a1 d2 24 a2 b3 a2

⑴ 将R、S和T三个关系按关联属性建立一个视图R-S-T。 ⑵ 对视图R-S-T按属性A分组后,求属性C和E的平均值。 解:

⑴ CREATE VIEW R-S-T

AS SELECT R.A,B,C,S.D,E,F

FROM R,S,T WHERE R.A=S.A AND S.D=T.D;

⑵ SELECT AVG(C),AVG(E) FROM R-S-T GROUP BY A; 6.有关系R和S如图所示。

R S A B A B a1 b1 a1 40 a2 B2 a2 50 a3 b3 a3 55

试用SQL语句实现:

⑴ 查询属性C>50时,R中与相关联的属性B之值。

⑵ 当属性C=40时,将R中与之相关连的属性B值修改为b4。 解:

⑴ 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 A B C C D E a1 b1 c1 c1 d1 e1 a2 b2 c2 c2 d2 e2 a3 b3 c2 c3 d3 e3

执行如下SQL语句:

⑴ CREATE VIEW H (A,B,C,D,E)

AS SELECT A,B,R.C,D,E FROM R,S WHERE R.C=S.C;

D F d2 f2 d3 f3

⑵ SELECT B,D,E FROM H WHERE C=“C2” 试给出: ⑴ 视图H。

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

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

8.已知关系R如图所示。 R

试用SQL语句实现下列操作:

⑴ 按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RAE中。 ⑵ 在视图RAE中查询属性A=“8”记录。 解

⑴ CREATE VIEW RAE(A,CMAX,CMIN)

AS SELECT A,MAX(C),MIN(C) FROM R GROUP BY A; ⑵ SELECT * FROM RAE WHERE A=“98”

9.已知学生表S和学生选课表SC。其关系模式如下: S(SNO,SN,SD,PROV) 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升序排序。

A 97 a297 a397 98 98 98 99 99 B b1 b2 b3 b1 b2 b3 b1 b2 C 84 92 98 72 84 95 88 94 A a1 a2 a3 B b1 b2 b3 C c1 c2 c2 D d1 d2 d2 E e1 e2 e2 B b2 b3 D d2 d2 E e2 e2

⑵ 从视图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

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 ――――

(15)取出上海供应商不提供任何零件的工程的代号 SELECT DISTINCT JN FROM SPJB WHERE JN NOT IN

(SELECT DISTINCT SPJB.JN FROM SB,SPJB

WHERE SB.SN=SPJB.SN AND SB.CITY=“上海”)TO SCREEN; JN ―――― J2 J5 J6 ――――

(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件; SELECT DISTINCT SPJB.SN FROM PB,SPJB WHERE SPJB.PN IN

(SELECT SPJB.PN FROM SPJB,SB,PB

WHERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND PB.COLOR=“红” TO SCREEN; SN ―――― S1 S2 S3 S4

S5 ――――

(17)取出由供应商S1提供零件的工程的代号: SELECT DISTINCT SPJB.JN FROM SB,PB,SPJB

WHIERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND SB.SN=“S1” TO SCREEN; JN ———— J1 J4 ————

(18)取出所有这样的一些二元组,使得第1个城市的供应商为第2个城市的工程提供零件; SELECT DISTINCT SB.CITY,JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN TO SCREEN; CITY_A CITY_B

----------------------------------- 北京 广州 北京 南京 北京 上海 北京 武汉 南京 广州 南京 南京 南京 上海 上海 南京 上海 上海

-----------------------------------

(19)取出所有这样的三元组,使得第1个城市的供应商为第2个城市的工程提供指定的零件; SELECT DISTINCT SB.CITY,SPJB.PN,JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN TO SCREEN; CITY_A PN CITY_B

-------------------------------------- 北京 P3 广州 北京 P3 南京 北京 P3 上海 北京 P3 武汉 北京 P4 广州 北京 P5 广州 南京 P1 南京 南京 P2 广州 南京 P2 南京 南京 P3 南京 南京 P4 南京 南京 P5 南京 南京 P5 上海

南京 P6 广州 南京 P6 南京 上海 P1 南京 上海 P1 上海 上海 P6 南京 上海 P6 上海

--------------------------------------

(20)重复(19)题,但不检索两个CITY值相同的三元组。

SELECT DISTINCT SB.CITY,SPJB.PN,JB.CITY FROM SB,JB,SPJB WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY<>JB.CITY TO SCREEN;

CITY_A PN CITY_B

-------------------------------------------- 北京 P3 广州 北京 P3 南京 北京 P3 上海 北京 P3 武汉 北京 P4 广州 北京 P5 广州 南京 P2 广州 南京 P5 上海 南京 P6 广州 上海 P1 南京 上海 P6 南京

---------------------------------------------

12.有样本表student、teacher、course 和score(如图),写出实现以下各题功能的SQL语句,并给出执行结果。 Student score

------------------------------------------------------- ------------------------------ NO NAME SEX BIRTHDAY CLASS NO CNO DEGREE

108 曾华 男 09/01/77 95033 103 3-245 86 105 匡明 男 10/02/75 95031 105 3-245 75 107 王丽 女 01/23/76 95033 109 3-245 68 101 李军 男 02/20/76 95033 103 3-105 92 109 王芳 女 02/10/75 95031 105 3-105 88 103 陆军 男 06/03/74 95031 109 3-105 76 101 3-105 64 101 3-105 91 101 3-105 78 101 6-166 85 101 6-166 79 101 6-166 81 teacher course

------------------------------------------------------------------- ------------------------------- NO NAME SEX BRITHDAY PROF DEPART CNO CNAME TNO

804 李诚 男 12/02/58 副教授 计算机 3-103 计算机导论 825 856 张旭 男 03/12/69 讲师 电子 3-245 操作系统 825 825 王萍 女 05/05/72 助教 计算机 6-166 数字电路 825 831 刘冰 女 08/14/77 助教 电子 9-888 高等数学 825

⑴ 上列出至少有2名男生的班号。

SELECT class FROM student WHERE sex=“男” GROUP BY class HAVING COUNT(*)>=2 TO SCREEN; CLASS ------------- 95031 95033 -------------

⑵ 屏幕显示student表中不姓“王”的同学记录。

SELECT * FROM studen WHERE name not like “王%” TO SCREEN; NO NAME SEX BIRTHDAY CLASS

------------------------------------------------------------------------ 108 曾华 男 09/01/76 95033 105 匡明 男 10/02/75 95031 101 李军 男 02/20/76 95033 103 陆君 男 06/03/74 95031

------------------------------------------------------------------------

⑶ 屏幕显示student表示每个学生的姓名和年龄。

SELECT name as “姓名”,year(date())-year(birthday)as“年龄” FROM student TO SCREEN; 姓名 年龄

----------------------- 曾华 23 匡明 24 王丽 23 李军 23 王芳 24 陆君 25

-----------------------

⑷ 屏幕显示student表中最大和最小的birthday日期值。

SELECT name,max(birthday),min(birthday) FROM student TO SCREEN; NAME MAX_BIRTHDAY MIN_BIRTHDAY

----------------------------------------------------------------------- 陆君 77.09.01 74.06.03

-----------------------------------------------------------------------

⑸ 以班号和年龄从大到小的顺序在屏幕上显示student表中的全部记录。 SELECT class,name,birthday FROM student

DRDER BY class,birthday TO SCREEN; CLASS NAME BIRTHDAY

----------------------------------------------------- 95031 陆君 74.06.03 95031 王芳 75.02.10 95031 匡明 75.10.02 95033 王丽 76.01.23 95033 李军 76.02.20 95033 曾华 77.09.01

-----------------------------------------------------

⑹ 屏幕显示“男”教师及其所上的课程。

SELECT x.name,y.cname FROM teacher x,course y WHERE x.no=y.tno AND x.sex=“男” TO SCREEN; NAME CNAME

----------------------------------- 李诚 操作系统 张旭 数字电路

-----------------------------------

⑺ 在屏幕上列出最高分同学的no、cno和degree列。 SELECT no,cno,degree FROM score

WHERE degree=(SELECT max(degree) FROM score)TO SCREEN; NO CNO DEGREE

------------------------------------------ 103 3_105 92

------------------------------------------

⑻ 在屏幕上列出和“李军”同性别的所有同学的name。 SELECT name FROM student

WHERE sex=(SELECT sex FROM student WHERE name=“李军”)TO SCREEN; NAME

------------------ 曾华 匡明 李军 陆君

------------------

⑼ 在屏幕上列出和“李军”同性别并同班的同学name。 SELECT name FROM student

WHERE sex=(SELECT sex FROM student WHERE name =“李军”)

AND class=(SELECT class FROM student WHERE name =“李军”)TO SCREEN; NAME ----------- 曾华

李军 ------------

⑽ 在屏幕上列出所有选修“计算机导论”课程的“男”同学的成绩表。 SELECT no,cno,degree FROM score

WHERE no IN(SELECT no FROM student WHERE sex =‘男’)

AND cno=(SELECT cno FROM course WHERE cname=“计算机导论”)TO SCREEN; NO CNO DEGREE

----------------------------------------------- 103 3_105 92 105 3_105 88 101 3_105 64 108 3_105 78

因篇幅问题不能全部显示,请点此查看更多更全内容