sqlsever 使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,course_XXX表中没有的课程列值为空。
时间: 2024-06-02 13:14:17 浏览: 102
SELECT c.course_no, c.course_name, COUNT(s.student_no) AS num
FROM course c
RIGHT JOIN sc ON c.course_no = sc.course_no
LEFT JOIN student s ON s.student_no = sc.student_no
GROUP BY c.course_no, c.course_name;
相关问题
sql sever查询所有课程的名字以及课程被选修的情况(显示信息包括,课程 名、学号、课程编号、成绩)
可以使用以下 SQL 查询语句来实现:
```
SELECT Course.CourseName, SC.StudentID, SC.CourseID, SC.Score
FROM Course LEFT JOIN SC ON Course.CourseID = SC.CourseID
ORDER BY Course.CourseID ASC
```
这里使用了左连接(LEFT JOIN)来保证查询结果中包含所有课程,即使有些课程没有被选修过。同时,使用 ORDER BY 子句按照课程编号升序排列结果。
使用SQLsever 语句查询没有选修2号课程的同学的学号、姓名和系别
可以使用以下 SQL 语句查询没有选修2号课程的同学的学号、姓名和系别:
SELECT 学号, 姓名, 系别
FROM 学生表
WHERE 学号 NOT IN (
SELECT 学号
FROM 选课表
WHERE 课程号 = '2'
)
阅读全文