數(shù)據(jù)庫中的左連接(left join)和右連接(right join)區(qū)別
更新時間:2012年06月06日 20:58:45 作者:
關(guān)于左連接和右連接總結(jié)性的一句話,左連接 where只影向右表,右連接where只影響左表
Left Join / Right Join /inner join相關(guān)
關(guān)于左連接和右連接總結(jié)性的一句話:
左連接 where只影向右表,右連接where只影響左表。
Left Join
select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID
左連接后的檢索結(jié)果是顯示tbl1的所有數(shù)據(jù)和tbl2 中滿足where 條件的數(shù)據(jù)。
簡言之 Left Join影響到的是右邊的表
Right Join
select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID
檢索結(jié)果是tbl2的所有 數(shù)據(jù)和tbl1中滿足where 條件的數(shù)據(jù)。
簡言之 Right Join影響到的是左邊的表。
inner join
select * FROM tbl1 INNER JOIN tbl2 ON tbl1.ID = tbl2.ID
功能和 select * from tbl1,tbl2 where tbl1.id=tbl2.id相同。
其他相關(guān)資料
1 .WHERE子句中使用的連接語句,在數(shù)據(jù)庫語言中,被稱為隱性連接。INNER JOIN……ON子句產(chǎn)生的連接稱為顯性連接。(其他JOIN參數(shù)也是顯性連接)WHERE 和INNER JOIN產(chǎn)生的連接關(guān)系,沒有本質(zhì)區(qū)別,結(jié)果也一樣。但是!隱性連接隨著數(shù)據(jù)庫語言的規(guī)范和發(fā)展,已經(jīng)逐漸被淘汰,比較新的數(shù)據(jù)庫語言基本上已經(jīng)拋棄了隱 性連接,全部采用顯性連接了。
2 .無論怎么連接,都可以用join子句,但是連接同一個表的時候,注意要定義別名,否則產(chǎn)生錯誤!
a> inner join:理解為“有效連接”,兩張表中都有的數(shù)據(jù)才會顯示left join:理解為“有左顯示”,比如on a.field=b.field,則顯示a表中存在的全部數(shù)據(jù)及a\\b中都有的數(shù)據(jù),A中有、B沒有的數(shù)據(jù)以null顯示
b> right join:理解為“有右顯示”,比如on a.field=b.field,則顯示B表中存在的全部數(shù)據(jù)及a\\b中都有的數(shù)據(jù),B中有、A沒有的數(shù)據(jù)以null顯示
c> full join:理解為“全連接”,兩張表中所有數(shù)據(jù)都顯示,實際就是inner +(left-inner)+(right-inner)
3 .join可以分主次表 外聯(lián)接有三種類型:完全外聯(lián),左聯(lián),右聯(lián).
完全外聯(lián)包含兩張表的所有記錄.
左聯(lián)是以左邊的表為主,右邊的為 輔,右聯(lián)則相反
4.一般要使得數(shù)據(jù)庫查詢語句性能好點遵循一下原則:
在做表與表的連接查詢時,大表在前,小表在
不 使用表別名,通過字段前綴區(qū)分不同表中的字段
查詢條件中的限制條件要寫在表連接條件前
盡量使用索引的字段做為查詢條件
關(guān)于左連接和右連接總結(jié)性的一句話:
左連接 where只影向右表,右連接where只影響左表。
Left Join
select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID
左連接后的檢索結(jié)果是顯示tbl1的所有數(shù)據(jù)和tbl2 中滿足where 條件的數(shù)據(jù)。
簡言之 Left Join影響到的是右邊的表
Right Join
select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID
檢索結(jié)果是tbl2的所有 數(shù)據(jù)和tbl1中滿足where 條件的數(shù)據(jù)。
簡言之 Right Join影響到的是左邊的表。
inner join
select * FROM tbl1 INNER JOIN tbl2 ON tbl1.ID = tbl2.ID
功能和 select * from tbl1,tbl2 where tbl1.id=tbl2.id相同。
其他相關(guān)資料
1 .WHERE子句中使用的連接語句,在數(shù)據(jù)庫語言中,被稱為隱性連接。INNER JOIN……ON子句產(chǎn)生的連接稱為顯性連接。(其他JOIN參數(shù)也是顯性連接)WHERE 和INNER JOIN產(chǎn)生的連接關(guān)系,沒有本質(zhì)區(qū)別,結(jié)果也一樣。但是!隱性連接隨著數(shù)據(jù)庫語言的規(guī)范和發(fā)展,已經(jīng)逐漸被淘汰,比較新的數(shù)據(jù)庫語言基本上已經(jīng)拋棄了隱 性連接,全部采用顯性連接了。
2 .無論怎么連接,都可以用join子句,但是連接同一個表的時候,注意要定義別名,否則產(chǎn)生錯誤!
a> inner join:理解為“有效連接”,兩張表中都有的數(shù)據(jù)才會顯示left join:理解為“有左顯示”,比如on a.field=b.field,則顯示a表中存在的全部數(shù)據(jù)及a\\b中都有的數(shù)據(jù),A中有、B沒有的數(shù)據(jù)以null顯示
b> right join:理解為“有右顯示”,比如on a.field=b.field,則顯示B表中存在的全部數(shù)據(jù)及a\\b中都有的數(shù)據(jù),B中有、A沒有的數(shù)據(jù)以null顯示
c> full join:理解為“全連接”,兩張表中所有數(shù)據(jù)都顯示,實際就是inner +(left-inner)+(right-inner)
3 .join可以分主次表 外聯(lián)接有三種類型:完全外聯(lián),左聯(lián),右聯(lián).
完全外聯(lián)包含兩張表的所有記錄.
左聯(lián)是以左邊的表為主,右邊的為 輔,右聯(lián)則相反
4.一般要使得數(shù)據(jù)庫查詢語句性能好點遵循一下原則:
在做表與表的連接查詢時,大表在前,小表在
不 使用表別名,通過字段前綴區(qū)分不同表中的字段
查詢條件中的限制條件要寫在表連接條件前
盡量使用索引的字段做為查詢條件
相關(guān)文章
大數(shù)據(jù)開發(fā)phoenix連接hbase流程詳解
HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,該技術(shù)來源于?Fay?Chang?所撰寫的Google論文“Bigtable:一個結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng)”。就像Bigtable利用了Google文件系統(tǒng)(File?System)所提供的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似于Bigtable的能力2022-11-11
pentaho工具將數(shù)據(jù)庫數(shù)據(jù)導入導出為Excel圖文步驟
本篇博客講述的是如何使用pentaho工具快速的將數(shù)據(jù)庫數(shù)據(jù)導出為Excel文件,以及如何將Excel文件數(shù)據(jù)導入數(shù)據(jù)庫,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-03-03
經(jīng)常使用的JDBC連接數(shù)據(jù)庫方式
在我們開發(fā)中,幾乎脫離不了連接數(shù)據(jù)庫。并且無論是使用框架還是硬編碼連接數(shù)據(jù)庫,都避免不了寫驅(qū)動類以及連接url。為了方便我們的開發(fā),我們收藏常用的jdbc連接數(shù)據(jù)庫方式。2013-04-04
數(shù)據(jù)庫刪除完全重復和部分關(guān)鍵字段重復的記錄
重復記錄分為兩種,第一種是完全重復的記錄,也就是所有字段均重復的記錄,第二種是部分關(guān)鍵字段重復的記錄,例如Name字段重復,而其它字段不一定重復或都重復。2008-05-05
大數(shù)據(jù)時代的數(shù)據(jù)庫選擇:SQL還是NoSQL?
執(zhí)行大數(shù)據(jù)項目的企業(yè)面對的關(guān)鍵決策之一是使用哪個數(shù)據(jù)庫,SQL還是NoSQL?SQL有著驕人的業(yè)績,龐大的安裝基礎;而NoSQL正在獲得可觀的收益,且有很多支持者。我們來看看兩位專家對這個問題的看法2014-03-03
clickhouse數(shù)據(jù)庫刪除數(shù)據(jù)的五種方式
clickhouse數(shù)據(jù)庫清理數(shù)據(jù)的方式很多,每種方式都各有自己的優(yōu)缺點,請根據(jù)實際需要采用適合自己的方式,本文將逐一給大家介紹,并通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-03-03

