对于学生选课关系,其关系模式为: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号,成绩)。 试用sql完成如下查询: (1) 查询选修过数据库课程的学生的姓名和学号; (2) 查询“李华”同学不学课程的课程号;
时间: 2024-05-27 12:12:07 浏览: 262
(1) SELECT 学生.学号, 学生.姓名 FROM 学生, 选课, 课程 WHERE 学生.学号 = 选课.学号 AND 选课.课程号 = 课程.课程号 AND 课程.课程名 = '数据库';
(2) SELECT 课程.课程号 FROM 课程 WHERE 课程.课程号 NOT IN (SELECT 选课.课程号 FROM 选课, 学生 WHERE 选课.学号 = 学生.学号 AND 学生.姓名 = '李华');
相关问题
(1) 对于学生选课数据库,其关系模式如下,试用关系代数实现下列查询: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号,成绩)。 ① 求成绩不及格的学生学号和姓名 ② 求学过数据库课程的学生学号和姓名 ③ 求数据库成绩不及格的学生学号和姓名 ④ 求学过数据库和数据结构课程的学生学号和姓名 ⑤ 求学过数据库或数据结构课程的学生学号和姓名 ⑥ 求没学过数据库课程的学生学号 ⑦ 求学过数据库的先行课的学生学号 ⑧ 求选修了全部课程的学生学号和姓名
① σ 成绩 < 60 (选课)
② π 学号, 姓名 (σ 课程名 = '数据库' (选课) ⋈ 学生)
③ π 学号, 姓名 (σ 课程名 = '数据库' ∧ 成绩 < 60 (选课) ⋈ 学生)
④ π 学号, 姓名 ((σ 课程名 = '数据库' (选课) ⋈ 学生) ⋈ (σ 课程名 = '数据结构' (选课) ⋈ 学生))
⑤ π 学号, 姓名 ((σ 课程名 = '数据库' (选课) ⋈ 学生) ∪ (σ 课程名 = '数据结构' (选课) ⋈ 学生))
⑥ π 学号 (学生 - π 学号 (选课 ⋈ σ 课程名 = '数据库' 学生))
⑦ π 学号 (σ 课程名 = '数据库' (选课) ⋈ σ 先行课 = 课程号 课程)
⑧ π 学号, 姓名 ((选课 ⋈ 学生) ÷ π 学号 (选课) = π 学号 (学生))
阅读全文