简答题

设教学数据库中有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#));

答案解析

相似试题
  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。空白(4)处应选择()

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。

    单选题查看答案

  • 设关系R和S的元数分别为r和s。那么,由属于R但不属于S的元组组成的集合运算称为__(1)__。在一个关系中找出所有满足某个条件的元组的运算称为__(2)__运算。对R和S进行__(3)__运算可得到一个r+s元的元组集合,其每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,如果R中有m个元组,S中有n个元组,则它们经__(4)__运算后共有__(5)__个元组。关系R和S的自然连接运算一般只用于R和S有公共__(6)__的情况。空白(6)处应选择()

    单选题查看答案