MySQL查询所有没有选修课程的学生的学号、姓名
时间: 2023-11-16 12:28:03 浏览: 909
假设我们有以下两张表:
学生表 (students):
| 学号 | 姓名 |
| ---- | -----|
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
| 4 | 赵六 |
选课表 (course_selections):
| 学号 | 课程编号 |
| ---- | -----|
| 1 | 1001 |
| 1 | 1002 |
| 2 | 1001 |
| 3 | 1003 |
则查询所有没有选修课程的学生的学号、姓名的SQL语句如下:
```
SELECT s.学号, s.姓名
FROM 学生表 s
LEFT JOIN 选课表 c ON s.学号 = c.学号
WHERE c.学号 IS NULL;
```
该语句使用了左连接(LEFT JOIN)将学生表和选课表连接起来,然后使用 WHERE 子句过滤出选修课程为空的记录,最后只查询学号和姓名两个字段。
相关问题
mysql查询选修了所有课程的学生的学号
以下是查询选修了所有课程的学生的学号的MySQL语句:
```
SELECT `Sno`
FROM student
WHERE NOT EXISTS (
SELECT *
FROM course
WHERE NOT EXISTS (
SELECT *
FROM sc
WHERE sc.`Sno` = student.`Sno` AND sc.`Cno` = course.`Cno`
)
)
```
该语句使用了子查询和NOT EXISTS关键字,首先在student表中查询所有学生的学号,然后在course表中查询所有课程,最后在sc表中查询该学生是否选修了该课程。如果该学生没有选修该课程,则NOT EXISTS返回TRUE,表示该学生没有选修所有课程,该学生的学号不会被查询出来。如果该学生选修了所有课程,则NOT EXISTS返回FALSE,该学生的学号会被查询出来。
mysql中查询没有选修学号20121522学生选修的全部课程的学生姓名
可以使用以下 SQL 语句查询没有选修学号为20121522的学生选修的全部课程的学生姓名:
SELECT DISTINCT s.name
FROM student s
WHERE s.sno NOT IN
(SELECT sc.sno
FROM score sc
WHERE sc.cno NOT IN
(SELECT cno
FROM course
WHERE cname IN
(SELECT cname
FROM course
WHERE cno IN
(SELECT cno
FROM score
WHERE sno = '20121522'))));
相关推荐
![application/x-dosexec](https://img-home.csdnimg.cn/images/20210720083343.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)