2011年4月21日 星期四

[SQL] Join

join 總共分為六種:
  • Inner Join
  • Natural Join
  • Left Outer Join
  • Right Outer Join
  • Full Outer Join
  • Cross Join

Inner join:
  • 兩個資料表只顯示匹對的資料
  • 其實等同於多個Where條件式的連結

Outer join
  • 不管是否有匹對,都會將資料顯示出來,又分為 LEFT, RIGHT, FULL join。
  • 外部連接的語法是依資料庫的不同而有所不同的。
    • ex: 在 Oracle 上, 我們會在 WHERE 子句中要選出所有資料的那個表格之後加上一個 "(+)" 來代表說這個表格中的所有資料我們都要。
    • 當第二個表格沒有相對的資料時, SQL 會傳回 NULL 值。
    • ex: ...where A1.store_name = A2.store_name (+): 表示 A1 的資訊會全撈。

Update on 2013/01/07
  • join = inner join
  • left join = left outer join




* Reference
- [MySQL]left, right, inner, outer join 使用方法
- SQL 外部連接
- SQL Join語法筆記

沒有留言:

張貼留言