sql查询选修了课程的学生的学号
时间: 2023-11-10 09:02:04 浏览: 117
可以根据选课表和学生信息表,通过以下SQL语句查询选修了课程的学生的学号:
```
SELECT DISTINCT student.id
FROM student
JOIN course_selection
ON student.id = course_selection.student_id
WHERE course_selection.course_id = '课程ID'
```
其中,'课程ID'为指定的课程编号,可根据实际情况修改。
相关问题
sql查询选修了课程001和课程002的学生学号
在SQL查询中,如果想要找出选修了课程001和课程002的学生学号,你可以使用JOIN操作结合GROUP BY和HAVING条件来实现。假设我们有两个表,一个是学生信息表(students),包含字段`student_id`(学号);另一个是选课表(courses),包含字段`student_id`和`course_id`。
查询语句可能会类似下面这样:
```sql
SELECT s.student_id
FROM students s
JOIN courses c1 ON s.student_id = c1.student_id AND c1.course_id = '001'
JOIN courses c2 ON s.student_id = c2.student_id AND c2.course_id = '002'
GROUP BY s.student_id
HAVING COUNT(DISTINCT c1.course_id) = 2 AND COUNT(DISTINCT c2.course_id) = 2;
```
这个查询会返回那些既选修了课程001又选修了课程002的学生的学号。注意,这里假设每个学生的ID在两个课程表中都只有一条记录。
检索选修sql检索选修课程包含学号为2的学生所选修课程的学号。
可以使用以下SQL语句来检索选修包含学号为2的学生所选修课程的学号:
SELECT DISTINCT CourseNum
FROM Course
WHERE CourseNum IN (
SELECT CourseNum
FROM SC
WHERE SID = 2
);
其中,Course为课程表,包含课程编号(CourseNum)和课程名称(CourseName)等信息;SC为选课表,包含学生编号(SID)、课程编号(CourseNum)和成绩(Score)等信息。这个SQL语句使用了子查询,首先在SC表中检索出学号为2的学生所选修的所有课程编号,然后在Course表中检索出这些课程的学号。使用DISTINCT关键字可以消除重复的学号。
阅读全文