设一个学生关系为S(学生号,姓名),课程关系为C(课程号,课程名),选课关系为X(学生号,课程号,成绩),求出所有选课的学生信息的运算表达式为II学生号(X)与X的自然连接。
第1题:
设有学生表S(学号,姓名,性别,年龄)、课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是______。
A.SELECT 学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号=SC.学号 AND SC.学号=C.学号
B.SELECT 学号,姓名,课程名,成绩 FROM(S JOIN SC ON S.学号=SC.学号) JOIN C ON SC.课程号=C.课程号
C.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号
D.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON SC.课程号=C.课程号 ON S.学号=SC.学号
第2题:
A. 部分依赖
B. 传递依赖
C. 第三范式
D. 第一范式
第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题:
设学生表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
第5题:
设有学生表S(学号,姓名,性别,年龄)、课程表 (课程号。课程名,学分)和学生选课表SC(学号,课程号,绩).检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL语句是( )。
A.SELECT学号,姓名,课程名,成绩FROM S,SC,CWHERE S.学号=SC.学号AND SC.学号=C.学号
B.SELECT学号,姓名,课程名,成绩 FROM(S JOIN SC ON S.学号=SC.学号)JOIN C0N SC.课程号=C.课程号
C.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号
D.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN c ON SC.课程号=C.课程 号ON S.学号=SC.学号
第6题:
设学生表 S( 学号,姓名,性别,年龄 ) 、课程表 C( 课程号,课程名,学分 ) 和学生选课表 SC( 学号 , 课程号,成绩 ), 检索学号、姓名和学生所选课程的课程名和成绩 , 正确的 SQL 命令是
A) SELECT 学号 , 姓名 , 课程名 , 成绩 FROM S,SC,C WHERE S. 学号 =SC. 学号 AND SC. 学号 =C. 学号
B) SELECT 学号 , 姓名 , 课程名 , 成绩 FROM (S JOIN SC ON S. 学号 =SC. 学号) JOIN C ON SC. 课程号 =C. 课程号
C) SELECT S. 学号 , 姓名 , 课程名 , 成绩 FROM S JOIN SC JOIN C ON S. 学号 =SC. 学号 ON SC. 课程号 =C. 课程 号
D) SELECT S. 学号 , 姓名 , 课程名 , 成绩 FROM S JOIN SC JOIN C ON SC. 课程号 =C. 课程号 ON S. 学号 =SC. 学号
第7题:
设有如图所示的E-R模型:
将上述E-R模型转换成关系模式,正确的结果应是
A.成绩(学号,姓名,年龄,性别,课程号,课程名,学时,分数)
B.学生(学号,姓名,年龄,性别,分数)、课程(课程号,课程名,学时)
C.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时,分数)
D.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时)、成绩(学号,课程号,分数)
第8题:
设有3个关系,分别是:学生关系S(学号S、姓名SN、系名SD、年龄SA),课程关系C(课程号C、课程名CN、任课教师CT),学生选课关系SC(学生号S、课程号C、成绩G),则查询计算机科学系“CS”全体学生的关系代数表达式为______。
第9题:
现有表:s(学号,姓名,性别,年龄),c(课程号,课程名,学分),SC(学号,课程号,成绩)。检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是( )。
A. SELECT学号,姓名,课程名,成绩FROM S,SC,C; WHERE S.学号=SC.学号AND SC.课程号=C.课程号
B. SELECT学号,姓名,课程名,成绩; FROM(S JOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号=C.课程号
C. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号
D. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON SC.课程号=C.课程号0N S.学号=SC.学号
第10题:
设学生表S、课程表C和学生选课表SC的结构如下;S(学号,姓名,年龄,系别)C(课程号,课程名)SC(学号,课程号,成绩)查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。
A.SELECTS.姓名,SC.课程号,SC.成绩FROMSWHERES.学号=SC.学号
B.SELECTS.姓名,SC.课程号,SC.成绩FROMSCWHERES.学号=SC.成绩
C.SELECTS.姓名,SC.课程号,SC.成绩FROMS,SCWHERES.学号=SC.学号
D.SELECTS.姓名,SC.课程号,SC.成绩FROMS,SC