(7) 查询选修课程包括“1024”学生所学的课程的学生学号。
时间: 2024-02-11 09:09:09 浏览: 87
学生选修课查询系统
可以使用 SQL 的子查询和 EXISTS 关键字来查询选修课程包括“1024”学生所学的课程的学生学号。具体的 SQL 语句如下:
```
SELECT DISTINCT SC.Sno
FROM SC
WHERE EXISTS (
SELECT *
FROM SC AS SC2
WHERE SC2.Cno = SC.Cno AND SC2.Sno = '1024'
);
```
解释一下这个 SQL 语句的含义:
首先,使用 SELECT 子句选择 SC 表中的 Sno 列,代表学生学号。
然后,使用 WHERE 子句对 SC 表进行筛选,筛选条件为“存在一门课程既被“1024”学生选修,也被其他学生选修”。具体实现是使用 EXISTS 子句嵌套查询,查询条件为“存在一个 SC2 记录,它的 Cno 和 SC 记录的 Cno 相等,且它的 Sno 等于 '1024'”。
最后,使用 DISTINCT 关键字去重,确保查询结果中每个学生学号只出现一次。
阅读全文