使用多表连接查询选修了“数据库作为先行课”的课程的学生姓名和学号

动态 未结 0 145
小小草
小小草 LV1 2023年9月23日 23:40 发表
假设有以下三张表: - 学生表(student):包含学生的学号(sid)、姓名(name)等信息。 - 课程表(course):包含课程的编号(cid)、名称(cname)等信息。 - 选课表(score):包含学生的学号(sid)、课程的编号(cid)、成绩(score)等信息。 其中,选修了“数据库作为先行课”的课程可以通过课程名称进行筛选,假设该课程的名称为“Database”。 使用SQL语句实现该查询: ``` SELECT s.sid, s.name FROM student s JOIN score sc ON s.sid = sc.sid JOIN course c ON sc.cid = c.cid WHERE c.cname = 'Database'; ``` 解释: 1. 首先从学生表(student)中选择学生的学号(sid)和姓名(name)。 2. 然后将学生表(student)与选课表(score)进行内连接操作,连接条件是学生的学号(sid)相等。 3. 将上一步得到的结果再与课程表(course)进行内连接操作,连接条件是选课表(score)中的课程编号(cid)与课程表(course)中的课程编号(cid)相等。 4. 最后通过WHERE子句筛选出课程名称为“Database”的记录,得到选修了该课程的学生的学号和姓名。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复