SQL SELECT 語句的表連線

2022-09-25 03:39:06 字數 1311 閱讀 1562

**表:包含200首來自amazon的**cd的概要資訊。

album(asin, title, artist, price, release, lab rank)

曲目表:每張**中的曲目(因為是**cd,所以也可叫歌曲)的詳細資訊。

track(album, dsk程式設計客棧, posn, song)

sql短語 from album join track on album.asin=track.album 表示連線album和track表。

其中,album.asin表示**的惟一標識號,track.album表示曲目表中和**關聯的**號。

連線後,得到乙個臨時表,該臨時表中每條記錄包含的字段由兩部分組成,

除了**表中的對應欄位a程式設計客棧lbum(title, artist ...),還包含曲目表的所有欄位track(album, disk, posn and song)。

有了這張臨時表,很多查程式設計客棧詢就容易實現了。

看看一些具體的例項,

一、列出歌名為'alison'的**名稱和作者

複製** **如下:

select title, artist

from album join track

on (album.asin=track.al程式設計客棧bum)

where song = 'alison'

顯然,歌名、**名稱和作者分別在兩個表中,必需使用表連線來完成這個查詢。

二、哪個artist錄製了歌曲'exodus'

select artist

from album join track on (asin=album)

where song = 'exodus'

用作連線的兩個欄位asin,album因為在兩個表中都是惟一的,所以不一定要加表名作為字首。

但為了方便理解,建議使用字首,形如:album.asin=track.album

或者如果表名過長的話,可以用as達到取代作用,如 from album as a join track as t on a.asin=t.album

三、列出曲目表中所有屬於'blur'**的歌曲

複製** **如下:

select song

from album join track on (asin=album)

where title = 'blur'

如果我們把 album join track on (asin=album) 看成乙個臨時表的話,join的概念就很好理解了。

本文標題: sql select 語句的表連線

本文位址:

SQL SELECT語句的巢狀

問題 現在資料庫中有一張使用者交易表order,其中有userid 使用者id orderid 訂單id amount 訂單金額 paytime 支付時間 請寫出對應的sql語句,查出每個月的新客數 新客指在嚴選首次支付的使用者 當月有複購的新客數,新客當月複購率 公式 當月有複購的新客數 月總新客...

sql select語句複習

昨天看見了乙個select語句 感覺還可以,拿出來與大家分享一下 當然 字段 表名 僅作參考 供複習用 select dd db table field.field name,dd db table field.ispk,dd db table field.can null,select memo ...

SQL select 語句優化

關於 select from o1,o2.至於為何要進行資料庫優化,就不在這裡重述了。在這裡,將本著謹慎的,簡單的態度,一點一點的講述sql資料查詢語句的優化問題 一,關於索引 使用索引的合理性 條件子句中變數順序應與索引字鍵順序相同。盡可能在join和order by 的字段上建立索引 將最具有限...