针对于教学数据库jxgl进行T-SQL程序设计查询各系的教师人数、学生人数,并按学生人数和教师人数升序排列。
时间: 2024-03-20 10:42:12 浏览: 115
可以使用如下的T-SQL语句进行查询:
```
SELECT
d.DeptName AS '系别',
COUNT(DISTINCT t.TeacherID) AS '教师人数',
COUNT(DISTINCT s.StudentID) AS '学生人数'
FROM
Department d
LEFT JOIN Teacher t ON d.DeptID = t.DeptID
LEFT JOIN Course c ON t.TeacherID = c.TeacherID
LEFT JOIN StudentCourse sc ON c.CourseID = sc.CourseID
LEFT JOIN Student s ON sc.StudentID = s.StudentID
GROUP BY
d.DeptName
ORDER BY
COUNT(DISTINCT s.StudentID) ASC,
COUNT(DISTINCT t.TeacherID) ASC;
```
解释:
1. 使用`SELECT`语句查询系别、教师人数和学生人数,使用`COUNT`函数计算人数,使用`DISTINCT`关键字去重。
2. 使用`FROM`子句指定查询的表,包括系别表、教师表、课程表、选课表和学生表。
3. 使用`LEFT JOIN`关键字进行左连接,保证即使某个系没有教师或学生,也会出现在结果中。
4. 使用`GROUP BY`语句按系别分组。
5. 使用`ORDER BY`语句按学生人数和教师人数升序排列。
注意:以上是一种可能的解决方案,具体的查询语句需要根据实际的数据库结构进行调整。
阅读全文