答:
SELECT * FROM A inner join B ON A.F1 = B.F1, 內連接,顯示的查詢結果,就是查詢條件A 的必須等于B的數據;
SELECT * FROM A left join B ON A.F1 = B.F1 ,左連接,顯示的查詢結果,就是左邊表的全部,和右邊表的符合查詢條件的數據。
SELECT * FROM A right join B ON A.F1 = B.F1 ,右連接,顯示的查詢結果,是右邊表的全部,和左邊表的符合查詢條件的數據。
join = inner join;
left join = left outter join;
right join = right outter join;
full join = full outter join;
SELECT * FROM A full join B ON A.F1 = B.F1,全連接, 顯示的查詢結果,
eg:(來自:http://zhidao.baidu.com/question/113160374.html?fr=qrl&cid=74&index=4&fr2=query)
[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 自行車