MySQL 查询被学生选修的课程
时间: 2023-11-14 10:07:14 浏览: 41
可以使用以下 SQL 语句查询被学生选修的课程:
```
SELECT DISTINCT course.course_name
FROM course_selection
JOIN course ON course_selection.course_id = course.course_id
WHERE course_selection.student_id = 'your_student_id';
```
其中,`course_selection` 是选课信息表的表名,`course` 是课程信息表的表名,`course_selection.course_id` 是选课信息表中课程号的列名,`course.course_name` 是课程信息表中课程名的列名,`course_selection.student_id` 是选课信息表中学生 ID 的列名,`your_student_id` 是你要查询的学生的 ID。
这条 SQL 语句使用了 `JOIN` 来连接选课信息表和课程信息表,使用 `ON` 子句指定连接的条件是课程号相等。然后,使用 `WHERE` 子句指定了查询的条件是学生 ID 等于指定的值。最后,使用 `DISTINCT` 关键字去重,确保每门课程只会出现一次,并且只查询课程名这一列的值。
相关问题
mysql查询没有选修任何课程的学生
可以使用子查询方式来查询没有选修任何课程的学生,如下所示:
```
SELECT *
FROM students
WHERE student_id NOT IN (
SELECT student_id
FROM enrollments
)
```
这条查询语句先从 `students` 表中选择所有学生,然后使用子查询来获取已经选修课程的学生,最后使用 `NOT IN` 来找到没有选修任何课程的学生。
mysql查询选修了课程的学生人数
假设选修课程的表名为 `course`,学生信息表为 `student`,选修课程的学生信息表为 `course_student`,其中 `course_student` 表中包含了选修课程的学生的学号和课程号。
可以使用如下 SQL 语句查询选修了某门课程的学生人数:
```sql
SELECT COUNT(DISTINCT s.student_id) AS student_num
FROM course_student cs
JOIN student s ON cs.student_id = s.student_id
WHERE cs.course_id = 'your_course_id';
```
其中 `your_course_id` 是要查询的课程的课程号。该 SQL 语句会返回一个名为 `student_num` 的列,其中包含了选修该门课程的学生人数。