原文:http://blog.csdn.net/tang08/archive/2007/11/21/1896139.aspx
內連接
典型的連接用算,使用如 = <>,之類的比較用算符,包括相等連接和自然連接。內連接根據各個表中共有的列來匹配表中的行!
比如用戶表(M-USER)中有部門編號(BUMENCD)字段,部門表(M-BUMEN)中也有部門編號(BumenCd),現在欲抽出用戶表(M-USER)和部門表(M-USER)中具有相同部門編號的的用戶信息:
Select xxx,xxx,xxx / /抽出的用戶其他信息,如姓名,年齡 編號等
From M-USER, M-USER / / 表名
Where M-USER .BUMENCD,=M-USER. BumenCd / / 抽出條件 部門編號相同
Ord by xxx / / 抽出信息排列 可選
內連接若連接的結果集中只保留了符合連接條件的元組,而排除了兩個表中沒有對應的或匹配的元組情況,這種連接稱為內連接。在內連接的查詢結果中,會丟失一部分信息.
外連接
如果要求查詢結果集中保留非匹配的元組,則為外連接, 分為為左外連接,右外連接 ,及完整外連接在 FROM子句中指定外聯接時,可以由下列幾組關鍵字中的一組指定:
LEFT JOIN 或 LEFT OUTER JOIN。
左向外聯接的結果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。
RIGHT JOIN 或 RIGHT OUTER JOIN。
右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
FULL JOIN 或 FULL OUTER JOIN。
完整外部聯接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的數據值。
比如 :
1. 左外連接
Select A. xxxx, A . xxxx , B .xxx , B .xxx
From M-USER as A left outer join M-BUMEN as B
On A . BUMENCD = B . BumenCd
2 .右外連接 關鍵字 right outer join on