用关系代数表达式表达查询
S S# 1 2 3 SNAME 李强 刘丽 张友 AGE 23 22 22 SEX 男 女 男 SC S# 1 2 5 2 5 5 C# K1 K5 K8
C# K1 K1 K1 K5 K5 K8 GRADE 83 85 69 90 84 80 C CNAME C语言 数据库原理 编译原理 TEACHER 王华 程军 程军 (1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME) 答:∏课程号,课程名(σTEACHER=“程军”(C))
(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 答:∏学号,姓名(σ性别=“男”∧年龄>21(S))
(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 答:∏姓名(σTEACHER=“程军”(C)∞SC∞∏学号,姓名(S)) (4)检索“李强”同学不学课程的课程号(C#)。 答:∏课程号(C)-∏课程号(σ姓名=“李强”( SC ∞S)) (5)检索至少选修两门课程的学生学号(S#)。 答:∏学号(σ课程号=“K1”∨课程号=“K5”(SCхC))
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
1 / 21 / 2
用关系代数表达式表达查询
答:∏学号,课程号,课程名(SC∞C)÷∏学号(S)
(7)检索选修课程包括“程军”老师所授课程之一的学生学号(S#)。 答:∏学号,课程号(SC)÷∏课程号(σTEACHER=“程军”(C)) (8)检索选修课程号为K1和K5的学生学号(S#)。 答:σ课程名=k1∨课程号=k5(S)
(9)检索选修全部课程的学生姓名(SNAME)。
答:∏姓名(S∞(∏课程号,学号(SC)÷∏课程号(C)))
(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。 答:∏学号(C∞(σ学号=“2”(SC))
(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。 答:∏学号,姓名(S∞SC∞(σ课程名=“C语言”(C)))
2 / 22 / 2