Inner Join (III) - การ Join 3 ตาราง
เราได้เรียนรู้การ join 2 ตารางเข้าด้วยกันแล้ว ทั้ง album กับ track และ album กับ artist ในแบบฝึกหัดนี้ จะได้ join ทั้งสามตารางเข้าด้วยกันเพื่อดึงข้อมูลที่ครบถ้วนยิ่งขึ้น ยังคงใช้ INNER JOIN เหมือนเดิม แต่ต้องระบุมากกว่าหนึ่งครั้ง
สังเกตว่าทั้ง track และ artist ต่างมีคอลัมน์ชื่อ name เหมือนกัน จึงต้องระบุให้ชัดเจนว่ากำลังเลือกคอลัมน์จากตารางใด โดยใส่ชื่อตารางนำหน้าชื่อคอลัมน์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
SQL Server เบื้องต้น
คำแนะนำการฝึกหัด
- ระบุคอลัมน์
nameให้ชัดเจนโดยใส่ชื่อตารางที่ถูกต้องนำหน้าในทั้งสองกรณี - เติม
INNER JOINทั้งสองตัวให้ครบ เพื่อ joinalbumกับtrackและartistกับalbum
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT track_id,
-- Enter the correct table name prefix when retrieving the name column from the track table
___.name AS track_name,
title as album_title,
-- Enter the correct table name prefix when retrieving the name column from the artist table
___.name AS artist_name
FROM track
-- Complete the matching columns to join album with track, and artist with album
INNER JOIN album on track.___ = album.album_id
INNER JOIN artist on album.artist_id = artist.___;