數(shù)據(jù)庫中的左連接(left join)和右連接(right join)區(qū)別
更新時(shí)間: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子句,但是連接同一個(gè)表的時(shí)候,注意要定義別名,否則產(chǎn)生錯(cuò)誤!
a> inner join:理解為“有效連接”,兩張表中都有的數(shù)據(jù)才會(huì)顯示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ù)都顯示,實(shí)際就是inner +(left-inner)+(right-inner)
3 .join可以分主次表 外聯(lián)接有三種類型:完全外聯(lián),左聯(lián),右聯(lián).
完全外聯(lián)包含兩張表的所有記錄.
左聯(lián)是以左邊的表為主,右邊的為 輔,右聯(lián)則相反
4.一般要使得數(shù)據(jù)庫查詢語句性能好點(diǎn)遵循一下原則:
在做表與表的連接查詢時(shí),大表在前,小表在
不 使用表別名,通過字段前綴區(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子句,但是連接同一個(gè)表的時(shí)候,注意要定義別名,否則產(chǎn)生錯(cuò)誤!
a> inner join:理解為“有效連接”,兩張表中都有的數(shù)據(jù)才會(huì)顯示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ù)都顯示,實(shí)際就是inner +(left-inner)+(right-inner)
3 .join可以分主次表 外聯(lián)接有三種類型:完全外聯(lián),左聯(lián),右聯(lián).
完全外聯(lián)包含兩張表的所有記錄.
左聯(lián)是以左邊的表為主,右邊的為 輔,右聯(lián)則相反
4.一般要使得數(shù)據(jù)庫查詢語句性能好點(diǎn)遵循一下原則:
在做表與表的連接查詢時(shí),大表在前,小表在
不 使用表別名,通過字段前綴區(qū)分不同表中的字段
查詢條件中的限制條件要寫在表連接條件前
盡量使用索引的字段做為查詢條件
相關(guān)文章
數(shù)據(jù)庫設(shè)計(jì)經(jīng)驗(yàn)談
這篇文章主要介紹了數(shù)據(jù)庫設(shè)計(jì)經(jīng)驗(yàn)談的相關(guān)資料,需要的朋友可以參考下2007-03-03Win2003系統(tǒng)安裝SQL Server2000后1433端口未開放的解釋
這篇文章主要介紹了Win2003系統(tǒng)安裝SQL Server2000后1433端口未開放的解釋2007-02-02復(fù)制數(shù)據(jù)庫表中兩個(gè)字段數(shù)據(jù)的SQL語句
今天為表新添加一個(gè)字段,但又想與表中的另一個(gè)字段值相同,由于數(shù)據(jù)過多想通過sql語句實(shí)現(xiàn),經(jīng)測試下面的這句話確實(shí)很好用2013-07-07SQL分組函數(shù)group by和聚合函數(shù)(COUNT、MAX、MIN、AVG、SUM)的幾點(diǎn)說明
這篇文章主要介紹了SQL分組函數(shù)group by和聚合函數(shù)(COUNT、MAX、MIN、AVG、SUM)的幾點(diǎn)說明,需要的朋友可以參考下2020-11-11dbeaver工具連接達(dá)夢數(shù)據(jù)庫的完整步驟
DBeaver數(shù)據(jù)庫連接工具是我用了這么久最好用的一個(gè)數(shù)據(jù)庫連接工具,擁有的優(yōu)點(diǎn),支持的數(shù)據(jù)庫多、快捷鍵很贊、導(dǎo)入導(dǎo)出數(shù)據(jù)非常方便,下面這篇文章主要給大家介紹了關(guān)于dbeaver工具連接達(dá)夢數(shù)據(jù)庫的完整步驟,需要的朋友可以參考下2023-05-05遠(yuǎn)程數(shù)據(jù)庫的表超過20個(gè)索引的影響詳細(xì)解析
這篇文章主要介紹了遠(yuǎn)程數(shù)據(jù)庫的表超過20個(gè)索引的影響詳細(xì)解析,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法
這篇文章主要介紹了使用Navicat生成ER關(guān)系圖并導(dǎo)出的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11