左連線與右連線的區別

2021-10-07 11:51:53 字數 1358 閱讀 5712

left join / right join /inner join相關

關於左連線和右連線總結性的一句話:

左連線where隻影向右表,右連線where只影響左表。

left join

select * from tbl1 left join tbl2 where tbl1.id = tbl2.id

左連線後的檢索結果是顯示tbl1的所有資料和tbl2中滿足where 條件的資料。

簡言之 left join影響到的是右邊的表

right join

select * from tbl1 right join tbl2 where tbl1.id = tbl2.id

檢索結果是tbl2的所有資料和tbl1中滿足where 條件的資料。

簡言之 right join影響到的是左邊的表。

inner join

select * from tbl1 inner join tbl2 on tbl1.id = tbl2.id

功能和 select * from tbl1,tbl2 where tbl1.id=tbl2.id相同。

其他相關資料

1 .where子句中使用的連線語句,在資料庫語言中,被稱為隱性連線。inner join……on子句產生的連線稱為顯性連線。(其他join引數也是顯性連線)where 和inner join產生的連線關係,沒有本質區別,結果也一樣。但是!隱性連線隨著資料庫語言的規範和發展,已經逐漸被淘汰,比較新的資料庫語言基本上已經拋棄了隱性連線,全部採用顯性連線了。

2 .無論怎麼連線,都可以用join子句,但是連線同乙個表的時候,注意要定義別名,否則產生錯誤!

inner join:理解為「有效連線」,兩張表中都有的資料才會顯示;

left join:理解為「有左顯示」,比如on a.field=b.field,則顯示a表中存在的全部資料及a//b中都有的資料,a中有、b沒有的資料以null顯示

right join:理解為「有右顯示」,比如on a.field=b.field,則顯示b表中存在的全部資料及a//b中都有的資料,b中有、a沒有的資料以null顯示

full join:理解為「全連線」,兩張表中所有資料都顯示,實際就是inner +(left-inner)+(right-inner)

3 .join可以分主次表 外聯接有三種型別:完全外聯,左聯,右聯.

完全外聯包含兩張表的所有記錄.

左聯是以左邊的表為主,右邊的為輔,右聯則相反

4.一般要使得資料庫查詢語句效能好點遵循一下原則:

在做表與表的連線查詢時,大表在前,小表在

不使用表別名,通過字段字首區分不同表中的字段

查詢條件中的限制條件要寫在表連線條件前

盡量使用索引的字段做為查詢條件

左連線與右連線的區別

左聯時,會全顯左表的資料,如果右表沒有滿足的條件的資料為null.右聯時,會全顯右表的資料,如果左表沒有滿足的條件的資料為null.關於連線的簡單示例 測試資料 table a 字段 id a 12 table b 字段 id b 23 內連線 select from a join b on a.i...

左連線與右連線的區別

左連線與右連線的區別 分享分類 it資料 2006 02 21 16 12 左聯時,會全顯左表的資料,如果右表沒有滿足的條件的資料為null.右聯時,會全顯右表的資料,如果左表沒有滿足的條件的資料為null.關於連線的簡單示例 測試資料 table a 字段 id a 12 table b 字段 i...

內連線 左連線 左外連線 右連線的區別

一 測試例子 存在如下兩張表 年級與班級,表內容如下 班級表 二 內連線與自然連線 1 自然連線 對於select from gradeclass gc where gc.grade id in select id from grade 其結果如下圖 其查詢是把符合條件中的班級表內容全部查詢出來 而...