時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
看到一些網(wǎng)友整理的表連接語句,,十分不清楚,,我來整理一下:
oracle的聯(lián)接分如下幾種:
內(nèi)連接(inner join)。
外聯(lián)接:
全連接(full join)、左連接(left join)、右連接(right join)。
交叉聯(lián)接(cross join)。
外聯(lián)接與內(nèi)聯(lián)接不一樣,外連接返回到查詢結(jié)果中的不僅包含符合條件的行,還包括左表(左外連接),右表(右外連接)或者兩個連接表(全外連接)中的所有不符合條件的數(shù)據(jù)行。
1.左聯(lián)接 (left [outer] join)
左外聯(lián)結(jié)就是將左表的所有數(shù)據(jù)分別于右表的每條數(shù)據(jù)進(jìn)行連接組合,返回的結(jié)果除內(nèi)連接的數(shù)據(jù)外,還有左表中不符合條件的數(shù)據(jù),并在右表的相應(yīng)列中填上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.右聯(lián)接 (right [outer] join)
右外聯(lián)結(jié)就是將右表中的所有數(shù)據(jù)分別與左表的每條數(shù)據(jù)進(jìn)行連接組合,返回的結(jié)果除了內(nèi)連接的數(shù)據(jù)外,還有右表中不符合條件的數(shù)據(jù),并在左表相應(yīng)的列中填上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.全外聯(lián)接 (full [outer] join)
全外聯(lián)接就是將左表的所有數(shù)據(jù)分別與右表的每條數(shù)據(jù)進(jìn)行連接組合,返回的結(jié)果除了內(nèi)連接的數(shù)據(jù)外,還有兩個表中不符合條件的數(shù)據(jù),并在左表或者右表的相應(yīng)列中填上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;
關(guān)鍵詞標(biāo)簽:oracle
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制
人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限