內(nèi)連接(inner join)。 外連接: 全連接(full join)、左連接(left join)、右連接(right join)。 交叉聯(lián)接(cross join)。 外連接與內(nèi)連接不一樣,外連接返回的查詢結(jié)果中不僅包含符合條件的行,還包括左表(左外連接),右表(右外連接)或者兩個連接表(全外連接)中的所有不符合條件的數(shù)據(jù)行。 1.左連接 (left [outer] join) 左外連接就是將左表的所有數(shù)據(jù)分別于右表的每條數(shù)據(jù)進行連接組合,返回的結(jié)果除內(nèi)連接的數(shù)據(jù)外,還有左表中不符合條件的數(shù)據(jù),并在右表的相應列中填上null值。 SQL語句如下: select * from mt_pb_org o left join mt_pb_orgframe f on o.PB_ORGFRAMEID = f.PB_ORGFRAMEID; 等價語句: select * from mt_pb_org o,mt_pb_orgframe f where o.pb_orgframeid = f.pb_orgframeid(+); 2.右連接 (right [outer] join) 右外連接就是將右表中的所有數(shù)據(jù)分別與左表的每條數(shù)據(jù)進行連接組合,返回的結(jié)果除了內(nèi)連接的數(shù)據(jù)外,還有右表中不符合條件的數(shù)據(jù),并在左表相應的列中填上null值。 SQL語句如下: select * from mt_pb_org o right join mt_pb_orgframe on o.pb_orgframeid = f.pb_orgframeid; 等價語句: select * from mt_pb_org o,mt_pb_orgframe f where o.pb_orgframeid(+) = f.pb_orgframeid; 3.全外連接 (full [outer] join) 全外連接就是將左表的所有數(shù)據(jù)分別與右表的每條數(shù)據(jù)進行連接組合,返回的結(jié)果除了內(nèi)連接的數(shù)據(jù)外,還有兩個表中不符合條件的數(shù)據(jù),并在左表或者右表的相應列中填上null值。 SQL語句如下: select * from mt_pb_org o full join mt_pb_orgframe o.pb_orgframeid = f.pb_orgframeid; 4.交叉連接(cross join) 交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數(shù)據(jù)行的笛卡爾積,返回到結(jié)果集合中的數(shù)據(jù)行數(shù)等于第一個表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個表中符合查詢條件的數(shù)據(jù)行數(shù)。 SQL語句如下: select * from mt_pb_org o cross join mt_pb_orgframe f;