sql server查询哪些学生没有选课
时间: 2023-08-20 07:04:00 浏览: 1293
可以使用以下 SQL 查询语句来查询哪些学生没有选课:
```
SELECT *
FROM students
WHERE student_id NOT IN (SELECT DISTINCT student_id FROM courses);
```
其中,`students` 是学生表,包含学生的信息和学生 ID;`courses` 是选课表,包含学生 ID 和课程 ID。以上查询语句使用子查询来查询在选课表中没有出现过的学生 ID,从而得到没有选课的学生。
相关问题
sqlserver查询各学生的选课门数,要求查询学号、姓名和选课门数
您好!针对您的问题,您可以使用以下 SQL Server 查询语句来获取各学生的选课门数,包括学号、姓名和选课门数信息:
```sql
SELECT s.学号, s.姓名, COUNT(*) AS 选课门数
FROM 学生 s
JOIN 选课表 x ON s.学号 = x.学号
GROUP BY s.学号, s.姓名;
```
其中,`学生` 表是存储学生信息的表,包括学号和姓名等字段;`选课表` 是存储选课信息的表,其中的 `学号` 字段与 `学生` 表关联。`COUNT(*)` 函数用于统计每个学生的选课门数,`GROUP BY` 语句用于按照学号和姓名对结果进行分组。以上查询语句可以根据您的具体表结构进行调整。
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`表中的学生记录。