3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
[SQL 筆記備份]- 016_SQL資料表連結(join)   資料來源:http://www.1keydata.com/tw/sql/sqljoins.html     現在我們介紹連接 (join) 的概念。要瞭解連接,我們需要用到許多我們之前已介紹過的指令。我們先假設我們有以下的兩個表格,   Store_Information 表格   Store_Name Sales Txn_Date Los Angeles 1500 05-Jan-1999 San Diego 250 07-Jan-1999 Los Angeles 300 08-Jan-1999 Boston 700 08-Jan-1999   Geography 表格   Region_Name Store_Name East Boston East New York West Los Angeles West San Diego   而我們要知道每一區 (Region_Name) 的營業額 (Sales)。 Geography 這個表格告訴我們每一區有哪些店,而Store_Information 告訴我們每一個店的營業額。若我們要知道每一區的營業額,我們需要將這兩個不同表格中的資料串聯起來。當我們仔細瞭解這兩個表格後,我們會發現它們可經由一個相同的欄位,Store_Name,連接起來。我們先將 SQL 句列出,之後再討論每一個子句的意義:       SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES FROM Geography A1, Store_Information A2 WHERE A1.Store_Name = A2.Store_Name GROUP BY A1.Region_Name;   結果:       REGION SALES East 700 West 2050   在第一行中,我們告訴 SQL 去選出兩個欄位:第一個欄位是 Geography 表格中的 Region_Name 欄位 (我們取了一個別名叫做 REGION);第二個欄位是 Store_Information 表格中的 Sales 欄位 (別名為 SALES)。請注意在這裡我們有用到表格別名:Geography 表格的別名是 A1,Store_Information 表格的別名是 A2。若我們沒有用表格別名的話,第一行就會變成       SELECT Geography.Region_Name REGION, SUM(Store_Information.Sales) SALES   很明顯地,這就複雜多了。在這裡我們可以看到表格別名的功用:它能讓 SQL 句容易被瞭解,尤其是這個 SQL 句含蓋好幾個不同的表格時。   接下來我們看第三行,就是 WHERE 子句。這是我們闡述連接條件的地方。在這裡,我們要確認 Geography表格中 Store_Name 欄位的值與 Store_Information 表格中 Store_Name 欄位的值是相等的。這個 WHERE 子句是一個連接的靈魂人物,因為它的角色是確定兩個表格之間的連接是正確的。如果 WHERE 子句是錯誤的,我們就極可能得到一個笛卡兒連接 (Cartesian join)。笛卡兒連接會造成我們得到所有兩個表格每兩行之間所有可能的組合。在這個例子中,笛卡兒連接會讓我們得到 4 x 4 = 16 行的結果。       

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦