การสร้าง View จาก View อื่น
สามารถสร้าง View จากคิวรีที่อ้างอิง View อื่นได้ ซึ่งมีประโยชน์มากเมื่อ schema มีความซับซ้อน เช่น ในกรณีที่ผ่านการ normalize แล้ว เพราะช่วยลดจำนวน JOINS ที่จำเป็นลงได้ สิ่งที่ต้องระวังมากที่สุดคือการติดตาม dependencies โดยเฉพาะเมื่อมีการแก้ไขหรือลบ View ซึ่งอาจส่งผลกระทบต่อ View อื่นที่เกี่ยวข้อง
ในแบบฝึกหัดถัดไป เราจะใช้ข้อมูลรีวิวจาก Pitchfork ต่อ ในแบบฝึกหัดนี้มี View ที่เกี่ยวข้องอยู่ 2 รายการ ได้แก่ top_15_2017 ซึ่งเก็บรีวิว 15 อันดับแรกที่มีคะแนนสูงสุดที่เผยแพร่ในปี 2017 โดยมีคอลัมน์ reviewid, title และ score และ artist_title ที่คืนค่ารายการชื่อผลงานทั้งหมดพร้อมศิลปินที่ถูกรีวิว โดยมีคอลัมน์ reviewid, title และ artist จาก View ทั้งสองนี้ เราจะสร้าง View ใหม่เพื่อดึงข้อมูลศิลปินที่มีคะแนนสูงสุดในปี 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 ___;