数据库完成代码,多表查询1) 查询有教师的部门(学院)信息。 (2)查询学生(学生id为201810101101)成绩最好的5门课程的信息!显示学号,姓名、课程名,开课学期和成绩5个字段!
时间: 2024-10-13 15:05:06 浏览: 34
首先,这两个查询都需要涉及到数据库的关联操作,我们可以假设有两个表,一个是`Departments`表,存储学院信息,包括部门ID和名称;另一个是`Students`表,包含学生信息,如学生ID、姓名等;还有`Courses`表,记录课程信息,包括课程ID、课程名、学生ID(外键),以及开课学期和成绩。
1. 查询有教师的部门(学院)信息:
```sql
SELECT d.DepartmentName
FROM Departments d
JOIN Teachers t ON d.DepartmentID = t.DepartmentID;
```
这个查询通过`JOIN`操作将`Departments`表和`Teachers`表连接起来,找出有教师的部门。
2. 查询学生(学生id为201810101101)成绩最好的5门课程的信息:
```sql
SELECT s.StudentID, s.Name, c.CourseName, c.Semester, MAX(c.Score) AS MaxScore
FROM Students s
JOIN Courses c ON s.StudentID = c.StudentID
WHERE s.StudentID = '201810101101'
GROUP BY s.StudentID, c.CourseName, c.Semester
ORDER BY MaxScore DESC
LIMIT 5;
```
这个查询首先找到学生ID为201810101101的所有课程,然后按成绩降序排序,并取前五个结果,展示学号、姓名、课程名、开课学期和每个课程的最佳成绩。
阅读全文