SQL SEVER 语句查询选修课程数低于3门的学生信息(需含未选课的学生信息)
时间: 2023-05-19 20:07:14 浏览: 123
SELECT *
FROM Students
WHERE StudentID NOT IN (
SELECT StudentID
FROM CourseSelection
GROUP BY StudentID
HAVING COUNT(CourseID) >= 3
)
相关问题
SQL SEVER 查询选修课程数低于3门的学生信息(需含未选课的学生信息)
可以使用以下 SQL 查询语句来获取选修课程数低于3门的学生信息(包括未选课的学生信息):
SELECT s.*
FROM students s
LEFT JOIN enrollments e ON s.student_id = e.student_id
GROUP BY s.student_id
HAVING COUNT(e.course_id) < 3 OR COUNT(e.course_id) IS NULL;
其中,students 表存储学生信息,包括学生ID、姓名等;enrollments 表存储学生选修的课程信息,包括学生ID、课程ID等。LEFT JOIN 用于将学生信息和选课信息进行关联,GROUP BY 用于按照学生ID进行分组,HAVING 用于筛选选修课程数低于3门的学生信息。
sql sever查询选修课程数大于等于2 的学生的学号、平均成绩和选课门数,并按 平均成绩降序排列。
好的,你可以使用以下 SQL 语句来查询:
```
SELECT 选课表.学号, AVG(成绩) AS 平均成绩, COUNT(*) AS 选课门数
FROM 选课表
WHERE 选课表.学号 IN (
SELECT 学号
FROM 选课表
GROUP BY 学号
HAVING COUNT(*) >= 2
)
GROUP BY 选课表.学号
ORDER BY AVG(成绩) DESC;
```
其中,`选课表` 是你所查询的选课信息表的表名,`学号` 和 `成绩` 是你所需要的字段名。首先在子查询中筛选出选修课程数大于等于2的学生,然后在主查询中统计这些学生的平均成绩和选课门数,并按照平均成绩降序排列。
阅读全文
相关推荐
















