( 32 ) 假定学号的第 3 、 4 位为专业代码 。 要计算各专业学生选修课程号为 “ 101 ” 课程的平均成绩 , 正确的 SQL 语句是
A) SELECT 专业 AS SUBS( 学号 ,3,2), 平均分 AS AVG( 成绩 ) FROM 选课 WHERE 课程号 = "101" GROUP BY 专业
B) SELECT SUBS( 学号 ,3,2) AS 专业 , AVG( 成绩 ) AS 平均分 FROM 选课 WHERE 课程号 = "101" GROUP BY 1
C) SELECT SUBS( 学号 ,3,2) AS 专业 , AVG( 成绩 ) AS 平均分 FROM 选课 WHERE 课程号 = "101" ORDER BY 专业
D) SELECT 专业 AS SUBS( 学号 ,3,2), 平均分 AS AVG( 成绩 ) FROM 选课 WHERE 课程号 = "101" ORDER BY 1
第1题:
查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。
A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)
B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)
C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)
D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)
第2题:
检索至少选修了课程号为1和课程号为5的课程的学生的学号。
第3题:
设教学数据库中有4个关系:教师关系T(T,TNAME,TITLE)课程关系C(C,CNAME,T)学生关系S(S,SNAME,AGE,SEX)选课关系SC(S,C,SCORE)试用关系代数表达式表示各个查询语句。(1)检索年龄小于17岁的女学生的学号和姓名。(2)检索男学生所学课程的课程号和课程名。(3)检索男学生所学课程的任课老师的职工号和姓名。(4)检索至少选修了两门课程的学生学号。(5)检索至少有学号为S2和S4学生选修的课程的课程号。(6)检索WANG同学不学的课程的课程号。(7)检索全部学生都选修的课程的课程号与课程名。(8)检索选修课程包含LIU老师所授全部课程的学生学号。
①检索年龄小于17岁的女学生的学号和姓名。
SELECT S#.SNAME FROM S
WHERE AGE<17 AND SEX=’F’
②检索男学生所学课程的课程号和课程名。
SELECT C.C#,CNAME (连接查询方式) FROM S,SC,C
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’M’;
③检索男学生所学课程的任课老师的工号和姓名。
SELECT T.T#, TNAME FROM S,SC,C,T
WHERE S.S#=SC.S# AND SC.C#=C.C# AND C.T#=T.T# AND SEX=’M’;
④检索至少选修两门课程的学生学号。
SELECT DISTINCT X.S# FROM SC AS X, SC AS Y
WHERE X.S#=Y.S# AND X.C#!=Y.C#;
⑤检索至少有学号为S2和S4的学生选修的课程的课程号。
SELECT DISTINCT X.C# FROM SC AS X, SC AS Y
WHERE X.S#=’S2’ AND Y.S#=’S4’ AND X.C#=Y.C#;
⑥检索WANG同学不学的课程的课程号。
SELECT C# FROM C
WHERE NOT EXISTS (SELECT * FROM S, SC
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG’);
⑦检索全部学生都选修的课程的课程号与课程名。
SELECT C#,CNAME FROM C
WHERE NOT EXISTS (SELECT * FROM S
WHERE NOT EXISTS (SELECT * FROM SC
WHERE S#=S.S# AND C#=C.C#));
⑧检索选修课程包含LIU老师所授全部课程的学生学号。
法一:
SELECT DISTINCT S# FROM SC AS X
WHERE NOT EXISTS (SELECT * FROM C,T
WHERE C.T#=T.T# AND TNAME=’LIU’
AND NOT EXISTS (SELECT{
FROM SC AS Y
WHERE Y.S#=X.S# AND Y.C#=C.C#));
法二:
SELECT DISTINCT S# FROM SC X
WHERE NOT EXISTS ((SELECT C# FROM C,T
WHERE C.T#=T.T# AND TNAME=‘LIU’) EXCEPT
(SELECT C# FROM SC Y WHERE Y.S#=X.S#));
第4题:
查询选修课程号为“101”的课程得分最高的同学,正确的SQL语句是( )。
A.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND课程号=”101”AND成绩>=A11(SELECT成绩FROM选课)
B.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND成绩>=A11(SELECT成绩FROM选课 WHERE课程号=”101”)
C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩>:=:A11(SELECT成绩FROM选课 WHERE课程号=”101”)
D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号一选课.学号AND 课程号一”101”AND成绩>=A11(SELECT成绩FROM选课WHERE课程号一”101”)
第5题:
假定学号的第3、4位为专业代码,要计算各专业学生选修课程号为“1O1”课程的平均成绩,正确的SQL语句是( )。
A.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号=”101”GROUP BY专业
B.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS 平均分FROM选课 WHERE课程号=”101”GROUP BY 1
C.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS 平均分FROM选课 WHERE课程号=”101”ORDER BY专业
D.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号=”101”ORDER BY 1
第6题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第7题:
拟建立如下的关系数据库及其基本表:
数据库名:学生选课数据库
学生表(学号,姓名,性别,年龄,专业)
课程表(课程号,课程名,学分,先修课程号)
选课表(ID, 学号,课程号,分数)
用SQL语言实现下列的功能:
1.创建数据库“学生选课数据库”代码;
2. A.将下列课程信息添加到课程表的代码:
B.修改 课程号为100003的课程名为“SQL数据库”;
C.删除 课程号为100002的课程信息;
3.检索姓张的女同学的情况:姓名、学号、专业。
第8题:
检索选修课程包含学号为2且年龄小于20的学生所修全部课程的课程号。
第9题:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为“007"课程的平均成绩,正确的SQL语句是( )。
A. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007” GROUP BY专业
B. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007” GROUP BY 1
C. SELECT SUBS(学号,3,2)AS专业,AVG(成绩)As平均分FROM选课WHERE课程号=”007”OR—DER BY专业
D. SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=”007”OR—DER RY 1
第10题:
假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为"101"课程的平均成绩,正确的SQL语句是
A.SELECT 专业 AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE 课程号="101"GROUP BY专业
B.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课 WHERE课程号="101"GROUP BY 1
C.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课 WHERE课程号="101"ORDER BY专业
D.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号="101"ORDER BY 1