(1) 对于学生选课数据库,其关系模式如下,试用关系代数实现下列查询: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号,成绩)。 ① 求成绩不及格的学生学号和姓名 ② 求学过数据库课程的学生学号和姓名 ③ 求数据库成绩不及格的学生学号和姓名 ④ 求学过数据库和数据结构课程的学生学号和姓名 ⑤ 求学过数据库或数据结构课程的学生学号和姓名 ⑥ 求没学过数据库课程的学生学号 ⑦ 求学过数据库的先行课的学生学号 ⑧ 求选修了全部课程的学生学号和姓名
时间: 2023-05-14 16:05:26 浏览: 74
① σ 成绩 < 60 (选课)
② π 学号, 姓名 (σ 课程名 = '数据库' (选课) ⋈ 学生)
③ π 学号, 姓名 (σ 课程名 = '数据库' ∧ 成绩 < 60 (选课) ⋈ 学生)
④ π 学号, 姓名 ((σ 课程名 = '数据库' (选课) ⋈ 学生) ⋈ (σ 课程名 = '数据结构' (选课) ⋈ 学生))
⑤ π 学号, 姓名 ((σ 课程名 = '数据库' (选课) ⋈ 学生) ∪ (σ 课程名 = '数据结构' (选课) ⋈ 学生))
⑥ π 学号 (学生 - π 学号 (选课 ⋈ σ 课程名 = '数据库' 学生))
⑦ π 学号 (σ 课程名 = '数据库' (选课) ⋈ σ 先行课 = 课程号 课程)
⑧ π 学号, 姓名 ((选课 ⋈ 学生) ÷ π 学号 (选课) = π 学号 (学生))
相关问题
连接查询实验 用SQL语句实现学生选课库中的下列查询: 1求学生的学号、姓名、选修的课程名及成绩
可以使用以下 SQL 语句实现该查询:
SELECT s.学号, s.姓名, c.课程名, sc.成绩
FROM 学生 s
INNER JOIN 选课 sc ON s.学号 = sc.学号
INNER JOIN 课程 c ON sc.课程号 = c.课程号;
该语句使用了 INNER JOIN 连接三个表:学生表、选课表和课程表。通过学生表和选课表的学号字段以及选课表和课程表的课程号字段进行连接,得到了学生的学号、姓名、选修的课程名和成绩。
用SQL语句实现学生选课库中的下列查询: ®求学生的学号、姓名、选修的课程名及成绩
可以使用以下 SQL 语句实现该查询:
SELECT 学生表.学号, 学生表.姓名, 课程表.课程名, 选课表.成绩
FROM 学生表, 课程表, 选课表
WHERE 学生表.学号 = 选课表.学号 AND 课程表.课程号 = 选课表.课程号;