为了从两个或多个表中选出数据,我们一般使用表连接来实现这个功能。
album(asin, title, artist, price, release, label, rank)曲目表:每张专辑中的曲目(因为是音乐CD,所以也可叫歌曲)的详细信息。
track(album, dsk, posn, song)SQL短语
FROM 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 (asin=album) WHERE song = 'Exodus'用作连接的两个字段asin,album因为在两个表中都是惟一的,所以不一定要加表名作为前缀。但为了方便理解,建议使用前缀,形如:album.asin=track.album
SELECT song FROM album JOIN track ON (asin=album) WHERE title = 'Blur'如果我们把 album JOIN track ON (asin=album) 看成一个临时表的话,join的概念就很好理解了。