第1题:
●已知基本表:学生(学号,姓名,性别,年龄,系名)
选课(学号,课程号,成绩)
要检索所有比"王华"年龄大的学生姓名、年龄和性别,正确的语句是 (25) ,要检索学生姓名及其所选修课程的课程号和成绩,正确的语句是 (26) 。
(25) A.SELECT姓名,年龄,性别
FROM学生
WHERE AGE>(SELECT 年龄
FROM 学生
WHERE 姓名 ="王华")
B.SELECT姓名,年龄,性别
FROM学生
WHERE姓名="王华"
C.SELECT姓名,年龄,性别
FROM学生
WHERE AGE>(SELECT年龄
WHERE姓名="王华")
D.SELECT姓名,年龄,性别
FROM学生
WHERE AGE>"王华"
(26) A.SELECT 学生.姓名,选课.课程号,选课.成绩
FROM学生
WHERE学生 学号=课程.学号
B.SELECT学生.姓名,选课.课程号,选课.成绩
FROM选课
WHERE学生.学号=课程.学号
C.SELECT学生.姓名,选课.课程号,选课.成绩
FROM学生,选课
WHERE学生.学号=课程.学号
D.SELECT学生.姓名,选课.课程号,选课.成绩
FROM学生.学号
第2题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第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题:
设有以下3个表: 学生表 STUD (学号,姓名,性别,年龄,专业) 课程表 KC (课程号,课程名,先修课号,学分) 学生选课表 SC (学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生姓名的SELECT语句是______。
A.SELECT 姓名 FROM STUD; WHERE 学号 SELECT 学号 FROM SC WHERE课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构")
B.SELECT 姓名 FROM STUD; WHERE 学号 in (SELECT 学号 FROM SC WHERE 课程号 UNION; (SELECT 课程号 FROM KC WHERE课程名="数据结构"))
C.SELECT 姓名 FROM STUD; WHERE SELECT 课程号 FROM KC WHERE课程名="数据结构"
D.SELECT 姓名 FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构"))
第5题:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。
A. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号=”007”AND成绩 >=ALL(SELECT成绩FROM选课)
B. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ALL(SELECT成绩FROM选课WHERE课程号=”007”)
C. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩 >=ANY(SELECT成绩FROM选课WHERE课程号=”007”)
D. SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND 课程号=”007”AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=”007”)
第6题:
学生表:Student 学生表 (学号,姓名,性别,年龄,组织部门)
Course 课程表 (编号,课程名称)
Sc 选课表 (学号,课程编号,成绩)
表结构如下:
(1).写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名
(2).写一个SQL语句,查询’周星驰’同学选修了的课程名字
(3).写一个SQL语句,查询选修了5门课程的学生学号和姓名
select sno,sname
from student
where sno in (
select sno
from sc
where cno = (
select cno
from course
where cname=计算机原理
)
)
(2)
select cname
from course
where cno in (
select cno
from sc
where sno =
(
select sno
from student
where sname=周星驰
)
)
(3) select sno,sname
From student
Where sno in (
select sno
from scgroup by sno having count(sno)=5
)
第7题:
现有某高校的选修课记录(SC):学号、姓名、课程名称、成绩,要查询没有选修课成绩的学生和课程,正确的SQL语句是( )。
A. SELECT学号,课程号FROM sc WHERE成绩=””
B. SELECT学号,课程号FROM sc WHERE成绩=NULL
C. SELECT学号,课程号FROM SC WHERE成绩IS NULL
D. SELECT学号,课程号FROM SC WHERE成绩
第8题:
设有学生选修课程的数据库包含如下
学生表(学号,姓名,年龄,性别,所在系)
选课表(学号,课程号,成绩)
课程表(课程号,课程名称,教师姓名)
请用SQL语言查询下列问题:
1.李明老师所教的课程号、课程名称。
2.年龄大于23岁的女学生的学号和姓名。
3.所有成绩都在80分以上的学生姓名及所在系。
4.至少选修两门以上课程的学生姓名、性别。
5.选修了李明老师所讲课程的学生人数。
6.“操作系统”课程得最高分的学生姓名、性别、所在系。
7.所有课程成绩都在60分以上的学生姓名及所在系。
第9题:
设学生表S、课程表C和学生选课表SC的结构如下:
S(学号,姓名,年龄,系别)
C(课程号,课程名)
SC(学号,课程号,成绩)
查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。
A.SELECTS.姓名,SC课程号,SC成绩FROM S WHERE S.学号=SC.学号
B.SELECTS.姓名,SC课程号,SC成绩FROM SC WHERE S.学号=SC.成绩
C.SELECTS.姓名,SC课程号,SC成绩FROMS,SC WHERE S.学号=SC.学号
D.SELECTS.姓名,SC课程号,SC成绩FROM S,SC
第10题:
设有以下3个表: 学生表STUD(学号,姓名,性别,年龄,专业) 课程表KC(课程号,课程名,选修课号,学分) 学生选课表SC(学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生的姓名的SELECT语句是______。
A.SELECT 姓名 FROM STUD; WHERE学号SELECT学号FROM SC WHERE 课程号IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”)
B.SELECT姓名FROM STUD; WHERE学号IN(SELECT学号FROM SC WHERE 课程号UNION; (SELECT 课程号 FROM KC WHERE 课程名=“数据结构”))
C.SELECT 姓名 FROM STUD; WHERESELECT课程号FROMKCWHERE课程名=“数据结构”
D.SELECT姓名FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”))