Создание представления на основе других представлений
Представления можно создавать на основе запросов, которые включают другие представления. Это особенно полезно при работе со сложными схемами — например, возникающими в результате нормализации, — поскольку позволяет сократить количество JOINS. Главная сложность здесь — отслеживание зависимостей: важно понимать, как изменение или удаление одного представления может повлиять на другие.
В следующих нескольких упражнениях мы продолжим работать с данными обзоров Pitchfork. В этом упражнении нас интересуют два представления. top_15_2017 содержит 15 обзоров с наивысшими оценками, опубликованных в 2017 году, со столбцами reviewid, title и score. artist_title возвращает список всех рецензируемых альбомов и соответствующих исполнителей со столбцами reviewid, title и artist. На основе этих представлений мы создадим новое представление, которое позволит получить исполнителей с наивысшими оценками за 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 ___;