用相关子查询查询选修了107号课程的学生学号和姓名
时间: 2023-11-16 22:55:12 浏览: 40
要查询选修了107号课程的学生学号和姓名,可以使用以下SQL语句:
SELECT s.sno, s.sname
FROM student s
WHERE s.sno IN (
SELECT sc.sno
FROM sc
WHERE sc.cno = '107'
);
解释一下这个SQL语句的含义:
首先,我们需要查询选修了107号课程的学生,因此我们需要在sc表中查找cno为107的记录。然后,我们需要获取这些记录中的sno,也就是选修了107号课程的学生学号。最后,我们需要在student表中查找这些学生的姓名。
相关问题
查询选修了107号课程的学生的学号和姓名
好的,根据您的要求,查询选修了107号课程的学生的学号和姓名的 SQL 语句如下:
```
SELECT student_id, student_name
FROM course_selection
WHERE course_id = '107';
```
请注意,这里假设您的选课表为 `course_selection`,学生表为 `student`,课程表为 `course`,并且选课表中包含了学生和课程的外键。
数据库列出选修了001号课程的学生的学号和姓名使用in子查询
假设学生表为 students,选课表为 courses,包含学生学号(id)和姓名(name)的列,包含课程编号(course_id)和学生学号(student_id)的列。要查询选修了001号课程的学生的学号和姓名,可以使用以下SQL语句:
```
SELECT id, name
FROM students
WHERE id IN (
SELECT student_id FROM courses WHERE course_id = '001'
);
```
其中,子查询 `SELECT student_id FROM courses WHERE course_id = '001'` 用于获取选修了001号课程的学生学号,然后在外层查询中使用 `WHERE id IN` 子句筛选出这些学生的学号和姓名。