SqlServer 查询所有被学生选修了的课程号。
时间: 2023-06-23 18:09:40 浏览: 148
你可以使用以下SQL语句查询所有被学生选修的课程号:
```
SELECT DISTINCT CourseID
FROM CourseSelection
```
其中,CourseSelection是一个表,包含学生选课信息的记录,包括学生ID和选课的课程ID。DISTINCT关键字用于去重,确保结果集中每个课程ID只出现一次。
相关问题
查询所有学生都选修的课程号和课程名。sqlserver
可以使用以下SQL查询语句:
```
SELECT c.课程号, c.课程名
FROM 课程 c
WHERE NOT EXISTS (
SELECT *
FROM 学生 s
WHERE NOT EXISTS (
SELECT *
FROM 选课 x
WHERE x.学号 = s.学号 AND x.课程号 = c.课程号
)
)
```
解释一下这个查询语句:
首先从课程表中选出课程号和课程名,然后使用 NOT EXISTS 关键字来筛选出所有学生都选修的课程。具体做法是,对于每个课程,检查是否存在一个学生没有选修这门课程,如果不存在这样的学生,则说明这门课程是所有学生都选修的,就将这门课程的课程号和课程名返回。
SqlServer查询计算机学院cs选修课程成绩为空的学生姓名和课程名。
可以通过以下 SQL 查询语句实现:
```
SELECT s.name, c.course_name
FROM students s
JOIN elective_courses e ON s.student_id = e.student_id
JOIN courses c ON e.course_id = c.course_id
WHERE c.course_type = 'cs' AND e.grade IS NULL;
```
上述查询语句中,`students` 表存储学生信息,包括学生姓名和学生ID;`courses` 表存储课程信息,包括课程名称和课程ID;`elective_courses` 表存储选修课程信息,包括学生ID、课程ID和成绩。我们通过 `JOIN` 操作将三张表连接起来,然后在 `WHERE` 子句中筛选出课程类型为 `cs` 且成绩为空的记录,并在 `SELECT` 子句中选择学生姓名和课程名作为输出结果。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)