哈工大数据库系统(上):初步认识数据库系统(七)课后测验与作业

2021/9/28 2:13:46

本文主要是介绍哈工大数据库系统(上):初步认识数据库系统(七)课后测验与作业,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

    • 前引
    • 第七章课后习题


前引


今天争取把数据库结构(上)给拿下 这里先把七八章节的课后习题给过一遍呜 因为感觉第七章还是真的内容挺多挺难的 话少说 一共有40道题 往下看吧

因为是模拟题 所以答案都是A 但是每一道题都还是挺好的 有的时候对于一些地方不是很清楚的话 顺手打开mysql还可以练一下


第七章课后习题


1、已知S(S#,SN,AGE,SEX),S#学号,SN姓名。若要检索所有比’王华’年龄大的学生姓名、年龄和性别,正确的SELECT语句是_________。

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


2、在SQL语言中,子查询是_________。

A.嵌入到另一个查询语句之中的查询语句(√)
B.返回单表中数据子集的查询语言
C.返回单表中数据子集的查询语言
D.选取单表中字段子集的查询语句


3、设关系Teacher的结构为:Teacher(T# char(3), Tname char(10), D# char(2), Salary float(2)),其中T#教师编号,Tname教师姓名,D#系号,Salary工资。Dept(D# char(2),Dname char(10),Dean char(10)),Dname系名,Dean系主任。若要将所有计算机系的教师工资上调10%,则可用_________。

A.Update Teacher Set Salary = Salary * 1.1 Where D# in ( Select D# From Dept Where Dname=‘计算机’);(√)
B.Update Salary = Salary * 1.1 Where D# in ( Select D# From Dept Where Dname =‘计算机’);
C.Update Salary = Salary * 1.1 Where D# in (Select D# From Dept Where Dname = 计算机);
D.Update TABLE Teacher Set Salary = Salary * 1.1 Where D# in ( Select D# From Dept Where Dname = ‘计算机’);


4、已知Titles(Title_Id char(4), Title char(20), Pub_id char(4), price integer),其中Title_Id图书编号,Title图书名,Pub_id出版商编号,price价格。列出Titles表中其价格高于出版商ID为0736的出版商出版的书的最大价格的书的标题和ID,合适的查询语句是_________。

A.SELECT Title_Id,Title FROM Titles WHERE price>ALL(SELECT price FROM Titles WHERE Pub_id=‘0736’)
B.SELECT Title_Id,Title FROM Titles WHERE price>ALL(SELECT price FROM Titles) AND Pub_id=‘0736’
C.SELECT Title_Id,Title FROM Titles WHERE price>ANY(SELECT price FROM Titles WHERE Pub_id=‘0736’)
D.SELECT Title_Id,Title FROM Titles WHERE price>ANY(SELECT price FROM Titles) AND Pub_id=‘0736’


5、陈述A:SubQuery1 UNION SubQuery2语句,其中SubQuery1和SubQuery2查询中相应的列必须以同一顺序出现。 陈述B:GROUP BY和HAVING子句不能在子查询中使用,这些子句只能用在最后一个查询结束时来总结和排序最后结果集。 关于陈述A和B,下列说法正确的是_________。

A.陈述A正确,陈述B错误(√)
B.都是正确的
C.都是错误的
D.陈述A错误,陈述B正确


6、下面有关HAVING子句,说法不正确的是_________。

A.使用HAVING子句的同时不能使用WHERE子句(√)
B.HAVING子句必须与GROUP BY 子句同时使用,不能单独使用
C.使用HAVING子句的同时可以使用WHERE子句
D.使用HAVING子句的作用是过滤掉不满足条件的分组


7、在SQL中,与"NOT IN"等价的操作符是_________。

A.<> ALL(√)
B.= SOME
C.<> SOME
D.= ALL


8、以下定义的4个视图中,能够进行更新操作的是_________。

A.CREATE VIEW S_MALE(学号,姓名) AS SELECT 学号,姓名 FROM student WHERE 班号=‘09031’(√)
B.CREATE VIEW S_G(学号,姓名,课程名,分数) AS SELECT S.学号,姓名,课程名,分数 FROM student S,score SC,course C WHERE S.学号=SC. 学号AND SC. 课程号 =
C. 课程号 C.CREATE VIEW S_AVG(学号,平均分) AS SELECT 学号,AVG(分数) FROM score WHERE 分数IS NOT NULL GROUP BY 学号
D.CREATE VIEW S_FEMALE(姓名,出生日期) AS SELECT 姓名,出生日期 FROM student WHERE 性别=‘女’


9、已知选课关系SC(S# char(8), C# char(8), GRADE integer),S#学号,C#课程号,GRADE成绩。检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是_________。

A.SELECT S#,SUM(GRADE) as Sgrade FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY Sgrade DESC(√)
B.SELECT S#,SUM(GRADE) as Sgrade FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT()>=4 ORDER BY Sgrade
C.SELECT S#,SUM(GRADE) as Sgrade FROM SC WHERE GRADE>=60 HAVING COUNT(
)>=4 GROUP BY S# ORDER BY Sgrade DESC
D.SELECT S#,SUM(GRADE) as Sgrade FROM SC WHERE GRADE>=60 and COUNT(*)>=4 GROUP BY S# ORDER BY Sgrade DESC


10、已知选课关系SC(S# char(8), C# char(8), GRADE integer),S#学号,C#课程号,GRADE成绩。检索选修课程’C2’的学生中成绩最高的学生的学号。正确的SELECT语句是_________。

A.SELECT S# FROM SC WHERE C#=‘C2’ AND GRADE >= ALL(SELECT GRADE FROM SC WHERE C#=‘C2’)(√)
B.SELECT S# FROM SC WHERE C#=‘C2’ AND GRADE >=(SELECT GRADE FROM SC WHERE C#=‘C2’)
C.SELECT S# FROM SC WHERE C#=‘C2’ AND GRADE IN (SELECT GRADE FROM SC WHERE C#=‘C2’)
D.SELECT S# FROM SC WHERE C#=‘C2’ AND GRADE NOT IN(SELECT GRADE FROM SC WHERE C#=‘C2’)


11、关于SQL视图更新的可执行性,下列说法不正确的是_________。

A.对于由单一Table子集构成的视图,即如果视图是从单个基本表使用选择、投影操作导出的,并且包含了基本表的主键,则不能更新(√)
B.如果视图的select目标列包含聚集函数,则不能更新
C.如果视图中包括了group by子句,则不能更新
D.如果视图是由单个表的列构成,但并没有包括主键,则不能更新


12、已知关系模式Student (S# char(8) Primary key, Sname char(10), Ssex char(2),Sage integer, D# char(2), Sclass char(6)),在此基础上定义了视图create view CStud(S#, Sname, Sclass) as ( select S#, Sname, Sclass from Student where D# =‘03’)。若要对该视图进行更新,下列语句正确的是_________。**

A.Insert into CStud Values ( “98030104”, “张三丰”, “980301” );(√)
B.Insert into CStud Values (98030104, “张三丰”, “980301”);
C.insert into CStud values (“98030104”, 张三丰, Null, Null, “03” , “980301”);
D.insert into CStud values (Null, “张三丰”, “980301”);


13、合并多个查询结果集,应使用_________保留字。

A.union(√)
B.join
C.into
D.and


14、假如有两个表的连接是这样的:table_1 INNER JOIN table_2,其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集_________。

A.只包括table_1和table_2中满足条件的行的组合结果(√)
B.包括table_1中的所有行但不包括table_2的不匹配行的所有组合结果
C.包括table_2中的所有行但不包括table_1的不匹配行的所有组合结果
D.包括两个表的所有行的组合结果


15、有关SQL语言的空值处理,以下说法不正确的是_________。**

A.除is [not] null之外,空值满足任何查找条件(√)
B.如果null参与比较运算,有些情况下是可以判断为真的或为假的。
C.如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null
D.如果null参与算术运算,则该算术表达式的值为null


16、求既学过002号课,又学过003号课的同学学号,下列SQL语句不正确的是_________。**

A.Select S# From SC Where C# = ‘002’ AND C#=‘003’;(√)
B.Select S# From SC Where C# = ‘002’ INTERSECT Select S# From SC Where C# = ‘003’;
C.Select S# From SC Where C# = ‘002’ and S# IN (Select S# From SC Where C# =‘003’);
D.Select S1.S# From SC S1, SC S2 Where S1.S# = S2.S# and S1.C#=‘002’ and S2.C#=‘003 ;


17、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句:
SELECT Sname FROM Student WHERE S# NOT IN
(SELECT S# FROM SC WHERE Student.S#=SC.S# and C#= ‘C01’ and Score>=60);
关于其查询结果,下列说法正确的是_____。**

A.剔出掉C01号课程及格学生的其他学生的姓名(√)
B.C01号课程及格的所有学生的姓名
C.C01号课程不及格的所有学生的姓名
D.剔出掉C01号课程不及格学生的其他学生的姓名


18、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句
SELECT Sname FROM Student WHERE S# IN
(SELECT S# FROM SC WHERE Student.S#=SC.S# and C#= ‘C01’ and Score>=60);
关于其查询结果,下列说法正确的是_____。**

A.C01号课程及格的所有学生的姓名(√)
B.C01号课程不及格的所有学生的姓名
C.剔出掉C01号课程不及格学生的其他学生的姓名
D.剔出掉C01号课程及格学生的其他学生的姓名


19、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句
SELECT Sname FROM Student WHERE S# NOT IN
( SELECT S# FROM SC, Course WHERE T# = ‘03’ and SC.C# = C.C#);
关于其查询结果,下列说法正确的是_____。**

A.没学过03号教师讲授过的任一门课的学生的姓名(√)
B.学过03号教师讲授过的某一门课的学生的姓名
C.学过03号教师讲授过的所有门课的学生的姓名
D.没学全03号教师讲授过的所有门课的学生的姓名


20、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句
SELECT S# FROM SC WHERE Score<60 GROUP BY C# HAVING Count(*)>2;
关于其查询结果,下列说法正确的是_____。

A.有2人以上不及格课程的同学的学号(√)
B.有2门以上不及格课程的同学的学号
C.有2门以上及格课程的同学的学号
D.有2人以上及格课程的同学的学号


21、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句
SELECT S# FROM SC WHERE Score<60 AND Count(*)>2 GROUP BY S#;
关于其查询结果,下列说法正确的是_____。

A.其它选项的说法都不正确(√)
B.有2门以上不及格课程的同学的学号
C.有2门以上及格课程的同学的学号
D.有2人以上不及格课程的同学的学号


22、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句
Select Sname From Student Where S# NOT IN ( Select S# From SC, Course C, Teacher T Where T.T# = ‘李明’ and SC.C# = C.C# and T.T# = C.T# );
关于其查询结果,下列说法正确的是_____。**

A.列出没学过李明老师讲授任一课程的学生姓名(√)
B.列出学全了李明老师讲授所有课程的学生姓名
C.列出学过李明老师讲授某一课程的学生姓名
D.列出没学全李明老师讲授所有课程的学生姓名


23、已知如下关系:学生Student(S#, Sname),课程Course(C#, Cname, T#),选课SC(S#, C#, Score),教师T(T#, Tname)。其中S#为学号,Sname为学生命名,C#为课号,Cname为课程名,T#为教师编号,Score为成绩,Tname为教师名。
阅读SQL语句
Select S# From SC SC1 Where SC1.C# = ‘C01’ AND S# IN
(Select S# From SC SC2 Where SC2.C# = ‘C02’ AND SC1.S#=SC2.S# AND SC1.Score>SC2.Score);
关于其查询结果,下列说法正确的是_____。**

A.C01课程比C02课程成绩高的所有学生的学号(√)
B.C01同学比C02同学成绩高的所有课程的课号
C.比C02课程成绩高的所有学生的学号
D.其它选项的说法都不正确


24、现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金),课程(课程号,课程名,学分),选课(学号,课程号,分数),用SQL语言实现题目:检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业,正确的SQL语句是_____。

A.SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 选课 WHERE 分数<80)(√)
B.SELECT 学号,姓名,专业 FROM 学生,选课 WHERE 学号 NOT IN (SELECT 学号 FROM 选课 WHERE 分数<80)
C.SELECT 学号,姓名,专业 FROM 学生,选课 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 分数<80)
D.SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 选课 WHERE 学生.学号=选课.学号 AND分数<80)


25、现有关系数据库如下: 学生(学号,姓名,性别,专业、奖学金),课程(课程号,课程名,学分),选课(学号,课程号,分数), 用SQL语言实现题目:对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元,正确的SQL语句是_____。

A.UPDATE 学生 SET 奖学金=1000 WHERE 奖学金<=0 AND 学号 IN (SELECT 学号 FROM 选课 WHERE 分数=100)(√)
B.UPDATE 学生 SET 奖学金=1000 WHERE 奖学金≤0 AND 学号 IN (SELECT 学号 FROM 选课 WHERE 分数=100)
C.UPDATE 学生 SET 奖学金=’1000’WHERE 奖学金<=0 AND 学号 IN (SELECT 学号 FROM 选课 WHERE 分数=100)
D.UPDATE 学生 SET 奖学金=1000 WHERE 奖学金<=0 AND 学号 NOT IN (SELECT 学号 FROM 选课 WHERE 分数=100)


26、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。
在这里插入图片描述
求既学过“1001”号课,又学过“2002”号课的所有学生的学号。正确的SQL语句是_____。

A.SELECT DISTINCT 学号 FROM 选课 WHERE 课号=‘1001’ AND
学号 IN (SELECT DISTINCT 学号 FROM 选课 WHERE 课号=‘2002’ );(√)

B.SELECT DISTINCT 学号 FROM 选课 WHERE 课号=‘1001’ AND 课号=‘2002’;
C.SELECT DISTINCT 学号 FROM 选课 WHERE 课号=‘1001’ AND 学号 IN ( FROM 选课 WHERE 课号=‘2002’ );
D.SELECT DISTINCT 学号 FROM 选课 WHERE 课号=‘1001’ AND
学号 (SELECT DISTINCT 学号 FROM 选课 WHERE 课号=‘2002’ )


27、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。
列出各门课的平均成绩、最高成绩、最低成绩和选课人数。正确的SQL语句是_____。
在这里插入图片描述

A.SELECT 课号,AVG(成绩),MAX(成绩),MIN(成绩),COUNT(学号) 
FROM 选课 GROUP BY 课号;(√)

B.SELECT 课号,AVG(成绩),MAX(成绩),MIN(成绩),COUNT(学号)
FROM 选课 ORDER BY 课号;
C.SELECT 课号,AVG(成绩),MAX(成绩),MIN(成绩),COUNT(学号)
FROM 选课 WHERE 课号;
D.SELECT 课号,AVG(成绩),MAX(成绩),MIN(成绩),COUNT(学号)
FROM 选课 HAVING 课号;


28、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。
列出最少选修了三门课程的学生姓名。正确的SQL语句是_____。
在这里插入图片描述

A.SELECT 姓名 FROM 学生 WHERE 学号 IN 
(SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(*) >= 3);(√)

B.SELECT 姓名 FROM 学生 WHERE 学号 IN
(SELECT 学号 FROM 选课 GROUP BY 学号 COUNT() >= 3);
C.SELECT 姓名 FROM 学生 WHERE 学号
(SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(
) >= 3);
D.SELECT 姓名 FROM 学生 WHERE 学号 IN
(SELECT 学号 FROM 选课 ORDER BY 学号 HAVING COUNT(*) >= 3);


29、如下几个表所示学生、课程、必修课和选课关系,用SQL语言实现下列操作。
列出最少选修了三门课程的学生姓名。正确的SQL语句是_____。
在这里插入图片描述

A.SELECT 姓名 FROM 学生 WHERE 学号 IN 
(SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(*) >= 3);(√)

B.SELECT 姓名 FROM 学生 WHERE 学号 IN
(SELECT 学号 FROM 选课 GROUP BY 学号 COUNT() >= 3);
C.SELECT 姓名 FROM 学生 WHERE 学号
(SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(
) >= 3);
D.SELECT 姓名 FROM 学生 WHERE 学号 IN
(SELECT 学号 FROM 选课 ORDER BY 学号 HAVING COUNT(*) >= 3);


30、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。
试列出计算机系所开课程(CS标志)的最高成绩、最低成绩和平均成绩。如果某门课程的成绩不全(即“成绩”中有NULL出现),则该课程不予统计,结果按“课程号”升序排列。正确的SQL语句是_____。
在这里插入图片描述

A.SELECT 课程号,MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课
WHERE 课程号 Like ‘CS%’ GROUP BY 课程号 HAVING 课程号 NOT IN
(SELECT 课程号 FROM 选课 WHERE 成绩 IS NULL)
ORDER BY 课程号;(√)

B.SELECT 课程号,MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课
WHERE 课程号 Like ‘CS%’ GROUP BY 课程号
HAVING 课程号 IN (SELECT 课程号 FROM 选课 WHERE 成绩 IS NULL)
ORDER BY 课程号;
C.SELECT MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课
WHERE 课程号= ‘CS%’ GROUP BY 课程号
HAVING 课程号 NOT IN (SELECT 课程号 FROM 选课 WHERE 成绩 IS NULL)
ORDER BY 课程号;
D.SELECT 课程号,MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课
WHERE 课程号 Like ‘CS%’ GROUP BY 课程号
HAVING 课程号 NOT IN (SELECT 课程号 FROM 选课 WHERE 成绩 IS NULL)


31、假设一个元组在子查询1中出现m次,在子查询2中出现n次,其中m>0,n>0, 则下列说法正确的是____ ____。

A.该元组在“子查询1 Except 子查询2”中出现0次;(√)
B.该元组在“子查询1 Union 子查询2”中出现m + n次;
C.该元组在 “子查询1 Except ALL 子查询2”中出现m – n次;
D.该元组在“子查询1 Intersect 子查询2”中出现min(m,n)次;


32、假设一个元组在子查询1中出现m次,在子查询2中出现n次,其中m>0,n>0,则下列说法正确的是_________。

A.该元组在“子查询1 Union ALL 子查询2”中出现m + n次;(√)
B.该元组在 “子查询1 Union 子查询2”中出现m+n次;
C.该元组在“子查询1 Union ALL 子查询2”中出现1次;
D.该元组在 “子查询1 Union 子查询2”中出现Min(m,n)次;


33、假设一个元组在子查询1中出现m次,在子查询2中出现n次,其中m>0,n>0,则下列说法正确的是_________。

A.该元组在“子查询1 Except 子查询2”中出现0次;(√)
B.该元组在“子查询1 Union 子查询2”中出现m + n次;
C.该元组在 “子查询1 Except All 子查询2”中出现m – n次;
D.该元组在“子查询1 Union All 子查询2”中出现max(m,n)次;


34、在下列关于视图的叙述中,正确的是_______。

A.当某一视图删除后,由该视图导出的其它视图也将自动删除;(√)
B.若导出某视图的基本表被删除,该视图将不受任何影响;
C.视图—旦建立,就不能被删除;
D.当修改某一视图时,导出该视图的基本表也随之修改。


35、SQL语言中的视图是一种_________。

A.子模式及子模式到模式的映像;(√)
B.全局模式及全局模式到子模式的映像;
C.内模式及内模式到模式的映像;
D.模式及模式到概念模式的映像;


36、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。
查询缺成绩的学生名及课程号。正确的SQL语句是_____。
在这里插入图片描述

A.SELECT 姓名,课程号 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩 IS NULL;(√)
B.SELECT 姓名,课程号 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩=‘ ’;
C.SELECT 姓名,课程号 FROM 学生,选课 WHERE 成绩 IS NULL;
D.SELECT 姓名,课程号 FROM 学生,选课 WHERE 成绩=‘ ’;


37、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。
统计学生的平均身高。正确的SQL语句是_____ 。
在这里插入图片描述

A.SELECT AVG(身高) FROM 学生;(√)
B.SELECT COUNT(身高) FROM 学生;
C.SELECT 身高,AVG(身高) FROM 学生;
D.SELECT AVER(身高) FROM 学生;


38、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。
查询选修CS-110课程的学生名。正确的SQL语句是_____。
在这里插入图片描述

A.SELECT 姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=‘CS-110’;(√)
B.SELECT 姓名 FROM 学生,选课 WHERE 课程号=‘CS-110’;
C.SELECT 姓名 FROM 学生,选课 WHERE 选课.课程号=‘CS-110’;
D.SELECT 姓名 FROM 学生 选课 WHERE 学生.学号=选课.学号 AND 课程号=‘CS-110’;


39、如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。
查询1996年出生的学生姓名及其秋季所修课程的课程号及成绩。正确的SQL语句是_____ 。
在这里插入图片描述

A.SELECT 姓名,课程号,成绩 FROM 学生,选课,课程 WHERE 学生.学号=选课.学号 AND 选课.课程号=课程.课程号 AND Year(出生日期)=1996 AND 开课学期=’秋’;(√)
B.SELECT 姓名,课程号,成绩 FROM 学生,选课,课程 WHERE 学生.学号=选课.学号 AND 选课.课程号=课程.课程号 AND 出生日期=1996 AND 开课学期=’秋’;
C.SELECT 姓名,课程号,成绩 FROM 学生,选课,课程 WHERE 学生.出生日期=1996 AND 课程.开课学期=’秋’;
D.SELECT 姓名,课程号,成绩 FROM 学生,选课,课程WHERE 学生.学号=选课.学号 AND 学生.Year(出生日期)=1996 AND 课程.开课学期=’秋’;


40、有一个学生表student,包含主键S#(学生编号)等。又有分数表SC,包含S#(学生编号)、score(分数)等。已知student表中共有50个学生,有45人参加了考试(分数存在SC表中),其中10人不及格。执行以下SQL语句:select * from student where exists (select S# from SC where score<60 ), 可返回_________条记录。

A.50(√)
B.45
C.10
D.35



这篇关于哈工大数据库系统(上):初步认识数据库系统(七)课后测验与作业的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程