2009年4月21日 星期二

TABLE JOIN

Inner Join
「資料表1.欄位2=資料表2.欄位2」代表使用Inner Join的方式連接兩個資料表,並且只要剩下兩個資料表中有相同欄位值的資料

Left Outer Join
SQL:Select * from 資料表1 資料表別名1 Left Outer Join 資料表2 資料表別名2 On 資料表別名1.欄位1=資料表別名2.欄位2
Sybase的語法:Select * from 資料表1,資料表2 where 資料表別名1.欄位1*=資料表別名2.欄位2
Oracle的語法:Select * from 資料表1,資料表2 where 資料表別名1.欄位1+=資料表別名2.欄位2

Right Outer Join
SQL:Select * from 資料表2 資料表別名2 Right Outer Join 資料表1 資料表別名1 On 資料表別名1.欄位2=資料表別名2.欄位1
Sybase的語法:Select * from 資料表2,資料表1 where 資料表別名1.欄位1=*資料表別名2.欄位2
Oracle的語法:Select * from 資料表2,資料表1 where 資料表別名1.欄位1=+資料表別名2.欄位2

Cross Join 和 Natural Join
若果兩個要結合的資料表已有相同名稱的欄位,即使不說明如何連結,也可以成功進行連結。而Cross Join是指列出兩個資料表結合後的所有有可能出現的組合。資料數量便是兩個資料表資料數量的乘積。

Full Join 和Left Outer Join、Right Outer Join不同的是 任何一方的table中的欄位沒有的值 都會補null

沒有留言:

張貼留言