第1关:创建视图
任务描述
本关任务:创建一个视图。
--创建视图stu_sco_view。该视图包含学生姓名,所选课程和成绩,并按照dept、学生姓名(name)升序排序。
--Begin
CREATE VIEW stu_sco_view AS
SELECT
s.name AS name,
c.name AS course,
sc.score AS score
FROM
student s
JOIN
sel_course sc ON s.num = sc.studentid
JOIN
course c ON sc.courseid = c.id
ORDER BY
s.dept ASC, s.name ASC;
--End
第2关:管理视图
任务描述
本关任务:修改视图。
--修改视图stu_sco_view。使该视图只包含dept=‘cs’的学生的姓名,所选课程和成绩,,并按照name升序排序。(使用create or replace view... 命令)
--begin
CREATE OR REPLACE VIEW stu_sco_view AS
SELECT
s.name AS name,
c.name AS course,
sc.score AS score
FROM
student s
JOIN
sel_course sc ON s.num = sc.studentid
JOIN
course c ON sc.courseid = c.id
WHERE
s.dept = 'cs' -- 添加部门过滤条件
ORDER BY
s.dept ASC, s.name ASC;
--end
--创建总分超过250分的同学的视图stu_good_view,显示其姓名、学院、总成绩。
--begin
CREATE VIEW stu_good_view AS
SELECT
s.num AS id, -- 假设学生表中num为学生ID
s.name AS name,
s.dept AS dept,
SUM(sc.score) AS total
FROM
student s
JOIN
sel_course sc ON s.num = sc.studentid -- 通过学生ID关联选课表
GROUP BY
s.num, s.name, s.dept -- 分组字段需包含所有非聚合列
HAVING
SUM(sc.score) > 250; -- 过滤总分超过250分的学生
--end
第3关:删除视图
任务描述
本关任务:删除视图。
--删除视图stu_sco_view。
--begin
DROP VIEW IF EXISTS stu_sco_view;
--end
--删除视图stu_good_view。
--begin
DROP VIEW IF EXISTS stu_good_view;
--end
1208

被折叠的 条评论
为什么被折叠?



