mysql查询没有选修任何课程的学生
时间: 2023-10-10 19:04:48 浏览: 356
可以使用子查询方式来查询没有选修任何课程的学生,如下所示:
```
SELECT *
FROM students
WHERE student_id NOT IN (
SELECT student_id
FROM enrollments
)
```
这条查询语句先从 `students` 表中选择所有学生,然后使用子查询来获取已经选修课程的学生,最后使用 `NOT IN` 来找到没有选修任何课程的学生。
相关问题
用MySQL查询没有选修课程的学生的基本信息;
好的,这是一个比较基础的MySQL查询语句,可以返回所有没有选修课程的学生的基本信息。语句如下:
SELECT * FROM students
WHERE NOT EXISTS (
SELECT * FROM course_selection
WHERE course_selection.student_id = students.student_id
)
其中,students 表为学生表,包含学生的基本信息,包括学生ID、姓名、年级等等。course_selection 表为选课表,包含学生ID和课程ID,表示某个学生选了某门课。
这个查询语句的含义是,首先从学生表中选择所有学生,然后对于每个学生,检查选课表中是否存在该学生选修的课程,如果不存在,则将该学生的基本信息加入查询结果中。注意,我们使用了 NOT EXISTS 这个关键字来表示是否存在某个条件,这是一个比较常用的查询技巧。
希望这个回答能够帮到您,如果您还有其他问题,可以随时问我哦。
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` 的列,其中包含了选修该门课程的学生人数。