SQL JOIN
外表
呢篇文 需要熟悉呢方面嘅人幫手寫。 |
JOIN,嚟自英文將之連結埋一齊噉嘅意思,係 SQL 查詢工作上嘅重要功能,核心作用係講緊要根據兩張表之間某共同欄位,將佢哋嘅資料橫向噉合併埋一齊,當中欄位通常係某啲形式嘅 ID 冧把。
INNER JOIN
[編輯]INNER JOIN,可譯作內連接,係最基本嘅 JOIN。佢條邏輯如下:一定要當兩張表都搵到對應嘅資料時,嗰行紀錄先會出現喺結果入便。
原理:佢會攞左表嘅每一行,同右表嘅每一行做對比。如果 ON 後面指定嘅條件成立,就合併。
應用場景:如果分析者想搵出邊啲客落過單,就應該用 INNER JOIN。
- 例句:
- SELECT Users.Name, Orders.OrderDate
- FROM Users
- INNER JOIN Orders ON Users.ID = Orders.UserID;
- 上面段嘢,即係攞住 Users 呢張表格,設呢個表格有齊用家嘅冧把、性別等嘅資料,而 Order 則係記錄咗啲柯打嘅表格。由於用嘅係 INNER JOIN,所以若果
- 有某個客,佢從來未落過柯打買嘢,有出現喺 Users 但冇試過喺 Orders 出現;
- 或者有某個柯打,唔知個客係邊個落嘅,有出現喺 Orders 但喺 Users 中搵唔到任何對應。
LEFT JOIN / RIGHT JOIN
[編輯]呢節要加長。 |
LEFT JOIN 同 RIGHT JOIN 會優先睇其中一邊,就算另一邊冇對應都唔緊要。
睇埋
[編輯]文獻
[編輯]- Pratt, Phillip J (2005), A Guide To SQL, Seventh Edition, Thomson Course Technology, ISBN 978-0-619-21674-0
- Shah, Nilesh (2005) [2002], Database Systems Using Oracle – A Simplified Guide to SQL and PL/SQL Second Edition (第International版), Pearson Education International, ISBN 0-13-191180-5
- Yu, Clement T.; Meng, Weiyi (1998), Principles of Database Query Processing for Advanced Applications, Morgan Kaufmann, ISBN 978-1-55860-434-6, 喺2009-03-03搵到