sqlserver查询所有同学的基本信息及选课情况(包含未选课同学的信息)
时间: 2024-05-01 10:20:23 浏览: 23
假设我们有两个表:`students`(存储学生基本信息)和`courses`(存储课程信息和选课情况),可以使用左连接(LEFT JOIN)查询所有学生的信息及选课情况,包括未选课的学生信息。
SQL查询语句如下:
```sql
SELECT s.*, c.course_name, c.teacher
FROM students s
LEFT JOIN courses c ON s.student_id = c.student_id
ORDER BY s.student_id;
```
其中,`LEFT JOIN`表示左连接,`s.*`表示查询`students`表中的所有列,`c.course_name`和`c.teacher`表示查询`courses`表中的`course_name`和`teacher`列,`s.student_id = c.student_id`表示连接条件,`ORDER BY`用于按`student_id`列排序。
这条查询语句将返回所有学生的基本信息及选课情况,包括未选课的学生信息。如果某个学生没有选课,则在结果集中对应行的`course_name`和`teacher`列值为`NULL`。
相关问题
sql server删除没有选课学生的基本信息
可以使用以下SQL语句来删除没有选课的学生的基本信息:
```
DELETE FROM students
WHERE NOT EXISTS (
SELECT 1
FROM course_selection
WHERE course_selection.student_id = students.id
);
```
其中,`students`是存储学生基本信息的表,`course_selection`是存储学生选课信息的表。这条SQL语句的作用是删除`students`表中不存在于`course_selection`表中的学生记录。
sql server查询哪些学生没有选课
可以使用以下 SQL 查询语句来查询哪些学生没有选课:
```
SELECT *
FROM students
WHERE student_id NOT IN (SELECT DISTINCT student_id FROM courses);
```
其中,`students` 是学生表,包含学生的信息和学生 ID;`courses` 是选课表,包含学生 ID 和课程 ID。以上查询语句使用子查询来查询在选课表中没有出现过的学生 ID,从而得到没有选课的学生。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)