內聯接 (INNER JOIN) 只回傳雙邊關聯條件匹配的列。本文以音樂專輯與曲目表為例,示範基本語法、別名使用、以及三種常見查詢場景:反查專輯、反查歌手、列出專輯曲目。
album(asin, title, artist, price, release, label, rank):asin 為專輯唯一鍵track(album, dsk, posn, song):album 關聯 album.asinFROM album JOIN track ON album.asin = track.album
產生虛擬表,含 album 所有欄位 + track 所有欄位。關聯欄位雙邊唯一時可省略表前綴,但建議保留前綴提升可讀性。
SELECT title, artist FROM album JOIN track ON album.asin = track.album WHERE song = 'Alison';
SELECT artist FROM album JOIN track ON album.asin = track.album WHERE song = 'Exodus';
SELECT song FROM album JOIN track ON album.asin = track.album WHERE title = 'Blur';
將 JOIN ... ON 視為產生一個「臨時寬表」,後續 WHERE/SELECT 直接針對此寬表操作,極大簡化多表查詢邏輯。