开始使用免费开始使用

基于其他视图创建视图

可以基于包含其他视图的查询来创建视图。这在架构较为复杂(例如由于规范化)时很有用,因为它有助于减少所需的 JOINS。最大的问题在于跟踪依赖关系,尤其是修改或删除某个视图会如何影响到其他视图。

在接下来的几个练习中,我们将继续使用 Pitchfork 的乐评数据。本练习中有两个相关视图:top_15_2017 存放 2017 年发布、评分最高的前 15 条评论,包含列 reviewidtitlescoreartist_title 返回所有被评论的作品及其对应艺人的列表,包含列 reviewidtitleartist。基于这两个视图,我们希望创建一个新视图,用于获取 2017 年得分最高的艺人。

本练习是课程的一部分

数据库设计

查看课程

交互式实操练习

通过完成这段示例代码来试试这个练习。

-- Create a view with the top artists in 2017
___ ___ top_artists_2017 ___
-- with only one column holding the artist field
SELECT artist_title.___ FROM ___
INNER JOIN ___
ON ___.___ = ___.___;

-- Output the new view
SELECT * FROM ___;
编辑并运行代码