现有关系数据库如下: 学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分) 学习(学号,课程号,分数) 分别用关系代数表达式和 SQL 语句实现下列 1—5 小题(注意:每小题都要分别 写出关

现有关系数据库如下: 学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分) 学习(学号,课程号,分数) 分别用关系代数表达式和 SQL 语句实现下列 1—5 小题(注意:每小题都要分别 写出关系代数表达式和 SQL 语句!!!每小题关系代数表达式 2 分,SQL 语句 2 分):

1. 检索所有选修了课程号为 “ C112的课程的学生的学号和分数; ”

2. 检索 “英语 ”专业学生所学课程的信息,包括学号、姓名、课程名和分数;

3. 检索 “数据库原理 ”课程成绩高于 90 分的所有学生的学号、 姓名、专业和分数;

4. 检索没学课程号为 “ C135课程的学生信息,包括学号,姓名和专业; ”

5. 检索至少学过课程号为 “ C135和”“ C219的课程的学生的信息,包括学号、姓 ” 名和专业。

答案:

 1.SQL 语句: SELECT 学号 ,分数 FROM 学习 WHERE 课程号 =’ C112’ 

关系代数: π学号,分数 ( 课程号=’C112’(学习 ))

2. SQL 语句: SELECT 学生 .学号 ,姓名 ,课程名 ,分数 FROM 学生 ,学习 ,课程  WHERE 学习 .学号 =学生 .学号 AND 学习 .课程号 =课程 .课程号 AND 专业 =’英语 ’ 

关系代数: π学号,姓名,课程名,分数 (π学号,姓名 ( 专业=’英语’(学生 )) 学习 π课程号,课程名 (课 程)) 

3. SQL 语句: SELECT 学生 .学号 ,姓名 ,专业 ,分数 FROM 学生 ,学习 ,课程  WHERE 学生 .学号 =学习 .学号 AND 学习 .课程号 =课程 .课程号 AND 分数 >90 AND 课程名 =‘数据库原理 ’

关系代数: π学号,姓名,专业 ,分数(π学号,姓名,专业(学生 ) ( 分数>90(学习 )) π课程号,课程名 ( 课程名 =’数据库原理 ’(课程 ))) 

4.SQL 语句: SELECT 学号 ,姓名 ,专业 FROM 学生 WHERE 学号 NOT IN

( SELECT 学号 FROM 学习 WHERE 课程号 =‘C135’)

关系代数:(π学号(学生 )-π学号( 课程号 =‘C135’ (学习 ))) (π学号,姓名,专业 (学生 ))

5.SQL 语句: SELECT 学号 ,姓名 ,专业 FROM 学生 WHERE 学号 IN  ( SELECT X1. 学号 FROM 学习 X1 ,学习 X2 WHERE X1.学号 =X2. 学号 AND X1. 课程号 =‘ C135’ AND X2.课程号 =‘ C219)’

 关系代数:(π学号,课程号 (学习 )÷π课程号 ( 课程号 =‘C135’∨课程号 =‘C219’(课程 ))) π学号 ,姓名,专 业(学生 )

你可能感兴趣的:(数据库,sql)