查询同时选修了“操作系统”课程和“数据库原理”课程的学生名单

动态 未结 0 72
小小草
小小草 LV1 2023年9月23日 23:40 发表
假设您的数据库中有以下三张表: - `student` 表,包含学生信息,其中 `id` 是学生的唯一标识符,`name` 是学生姓名。 - `course` 表,包含课程信息,其中 `id` 是课程的唯一标识符,`name` 是课程名称。 - `score` 表,包含学生成绩信息,其中 `student_id` 和 `course_id` 分别是学生和课程的唯一标识符,`score` 是学生在该门课程中的成绩。 则可以使用如下 SQL 语句查询同时选修了“操作系统”课程和“数据库原理”课程的学生名单: ``` SELECT s.name FROM student s JOIN score sc1 ON s.id = sc1.student_id JOIN course c1 ON sc1.course_id = c1.id AND c1.name = '操作系统' JOIN score sc2 ON s.id = sc2.student_id JOIN course c2 ON sc2.course_id = c2.id AND c2.name = '数据库原理' WHERE sc1.score IS NOT NULL AND sc2.score IS NOT NULL; ``` 以上 SQL 语句中,通过 `JOIN` 关键字将四个表连接起来,筛选出同时选修了“操作系统”课程和“数据库原理”课程的学生,并返回他们的姓名。其中,`AND` 关键字用于同时限制两个 `JOIN` 子句中的课程名称,`IS NOT NULL` 则用于排除没有成绩记录的学生。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复