④ 设计视图,查询同时上了2门以上课程的教师号、姓名、专业、职称、任课课程计数及平均评价。
时间: 2023-02-06 11:09:05 浏览: 179
可以使用如下的 SQL 语句来设计视图:
```
CREATE VIEW v_teacher_multiple_courses AS
SELECT t.teacher_id, t.name, t.major, t.title, COUNT(c.course_id) AS course_count, AVG(c.evaluation) AS avg_evaluation
FROM teachers t
INNER JOIN courses c ON t.teacher_id = c.teacher_id
GROUP BY t.teacher_id, t.name, t.major, t.title
HAVING COUNT(c.course_id) >= 2;
```
其中,`teachers` 表包含教师的基本信息,`courses` 表包含课程的基本信息。通过 `INNER JOIN` 连接两个表,然后使用 `GROUP BY` 将结果按照教师编号、姓名、专业、职称进行分组,并使用 `COUNT` 函数计算每个教师上的课程数量,使用 `AVG` 函数计算每个教师所有课程的平均评价。最后,使用 `HAVING` 子句过滤出同时上了 2 门以上课程的教师。
通过这个视图,就可以很方便地查询出同时上了 2 门以上课程的教师的号、姓名、专业、职称、任课课程计数及平均评价,只需要执行如下的 SQL 语句即可:
```
SELECT * FROM v_teacher_multiple_courses;
```
注意:上述 SQL 语句是基于 MySQL 数据库的,在其他数据库中可能会有所不同。