Oracle 數(shù)據(jù)庫連接查詢SQL語句
更新時間:2009年08月04日 16:55:22 作者:
oracle 連接查詢分如下幾種方法,大家可以看看,整理了下oracle 內(nèi)外鏈接。
內(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ù),并在右表的相應(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.右連接 (right [outer] join)
右外連接就是將右表中的所有數(shù)據(jù)分別與左表的每條數(shù)據(jù)進行連接組合,返回的結(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.全外連接 (full [outer] join)
全外連接就是將左表的所有數(shù)據(jù)分別與右表的每條數(shù)據(jù)進行連接組合,返回的結(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;
外連接:
全連接(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ù),并在右表的相應(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.右連接 (right [outer] join)
右外連接就是將右表中的所有數(shù)據(jù)分別與左表的每條數(shù)據(jù)進行連接組合,返回的結(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.全外連接 (full [outer] join)
全外連接就是將左表的所有數(shù)據(jù)分別與右表的每條數(shù)據(jù)進行連接組合,返回的結(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)文章
ORACLE中dbms_output.put_line輸出問題的解決過程
最近用dbms_output.put_line來輸出變量的一些信息,卻總是看不到結(jié)果,所以這篇文章主要給大家介紹了關(guān)于ORACLE中dbms_output.put_line輸出問題的解決過程,需要的朋友可以參考下2022-06-06
mybatis使用oracle進行添加數(shù)據(jù)的方法
這篇文章主要介紹了mybatis使用oracle進行添加數(shù)據(jù)的方法,本文給大家分享我的心得體會,需要的朋友可以參考下2021-04-04
Oracle表字段有Oracle關(guān)鍵字出現(xiàn)異常解決方案
這篇文章主要介紹了Oracle表字段有Oracle關(guān)鍵字出現(xiàn)異常解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10
Oracle Instant Client環(huán)境配置全過程
本文介紹了如何配置OracleInstantClient以便在沒有安裝Oracle的情況下使用Toad工具連接Oracle數(shù)據(jù)庫,詳細說明了從Oracle官網(wǎng)下載并選擇適當(dāng)版本的OracleInstantClient,配置環(huán)境變量如ORACLE_HOME、TNS_ADMIN、NLS_LANG2024-09-09
Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法
這篇文章主要介紹了Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法,需要的朋友可以參考下2016-02-02

