inner join、left join、right
join、full join的區別
[TEST@ORA1]
SQL>select * from a;
編號 姓名
---- ----------
1000張三
2000李四
3000王五
[TEST@ORA1] SQL>select * from b;
編號 商品
---- ----------
1000電視機
2000錄像機
4000自行車
[TEST@ORA1] SQL>set null空值--這里為了顯示方面我把NULL定義成了[空值]
[TEST@ORA1] SQL>select a.*,b.* from a inner
join b on a.編號=b.編號;
編號 姓名 編號 商品
---- ---------- ---- ----------
1000張三1000電視機
2000李四2000錄像機
[TEST@ORA1] SQL>select a.*,b.* from a left
join b on a.編號=b.編號;
編號 姓名 編號 商品
---- ---------- ---- ----------
1000張三1000電視機
2000李四2000錄像機
3000王五 空值 空值
[TEST@ORA1] SQL>select a.*,b.* from a right
join b on a.編號=b.編號;
編號 姓名 編號 商品
---- ---------- ---- ----------
1000張三1000電視機
2000李四2000錄像機
空值 空值4000自行車
[TEST@ORA1] SQL>select a.*,b.* from a full
join b on a.編號=b.編號;
編號 姓名 編號 商品
---- ---------- ---- ----------
1000張三1000電視機
2000李四2000錄像機
3000王五 空值 空值
空值 空值4000自行車
以上,希望對你有所幫助。
簡單明了地說,外連接分三種,即左連接(LEFT OUTER
JOIN)、右連接(RIGHT OUTER JOIN)、全連接(FULL
OUTER JOIN),下面就簡單解析一下,假設有A和B兩張表。1.A LEFTOUTER JOIN B表示把A表的記錄都顯示出來,把B表符合條件的結果集顯示出來,不符合條件的用NULL表示。2.A RIGHT OUTER JOIN B表示把B表的記錄都顯示出來,把A表符合條件的結果集顯示出來,不符合條件的用NULL表示。3.A FULL OUTER JOIN B表示把A表和B表的記錄都顯示出來,不符合條件的用NULL表示。