sql语句 查询出只选修了一门课程的全部学生的学号和姓名
时间: 2023-11-16 18:18:45 浏览: 1031
查询至少学习了1号课程和2号课程的学生的学号,姓名的八种写法
4星 · 用户满意度95%
好的,针对你的问题,以下是对应的 SQL 语句:
```
SELECT s.id, s.name
FROM student s
INNER JOIN sc ON s.id = sc.sid
GROUP BY sc.sid
HAVING COUNT(sc.cid) = 1;
```
这个 SQL 查询语句的大致思路如下:
1. 从 `student` 和 `sc` 两张表中关联查询学生的学号和课程的课程号;
2. 通过 `GROUP BY` 对学生的学号进行分组;
3. 通过 `HAVING` 限制查询结果,只保留选课数量为 1 的学生。
希望这个回答能够帮助到你!
阅读全文