首頁  >  文章  >  資料庫  >  MySQL連線查詢是什麼

MySQL連線查詢是什麼

王林
王林轉載
2023-05-30 23:50:421392瀏覽

內連接

  • 內連接INNERJOIN是最常用的連接操作。用數學術語描述,這句話可以重寫為:從集合論的角度看,我們要求兩個集合的交集;而從笛卡爾積的角度看,則需要篩選出滿足ON條件的笛卡爾積元素。

  • 在我看來內連接和等值連接差不多,自然連接是內連接中的一個特殊連接

自然連接和等值連接的區別

什麼是自然連接?

  • 自然連接(Naturaljoin)是一種特殊的等值連接,它要求兩個關係中進行比較的分量必須是相同的屬性組,並且在結果中把重複的屬性列去掉。

什麼是等值連線?

  • 等值連接是關係運算-連結運算的一種常用的連接方式。是條件連結(或稱θ連接)在連接運算子為「=」號時,即θ=0時的一個特例

舉例分析:

#表aaa

MySQL連線查詢是什麼

表bbb:

MySQL連線查詢是什麼

#查詢表aaa和表bbb中屬性C B D相等的資料

等值連接查詢:

SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E

結果:

MySQL連線查詢是什麼

#自然連線查詢:

-- 自然连接用关键字 natural join
SELECT*from aaa natural join bbb;

結果:

MySQL連線查詢是什麼

從上述兩個結果可以得出結論,等值連接是從兩個表的交集中選取值相等的特定資料。自然連接是指在兩個表中取相同屬性並且屬性值相等的數據,並消除這些相同屬性列。

內連接的實作方式

第一種:where

SElect*from aaa,bbb WHERE aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E

第二種:inner join

select*from aaa inner join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

第三種:join

select*from aaa join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

第四種:STRAIGHT_JOIN

select*from aaa STRAIGHT_JOIN bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

後面三種效果一樣,第三種可以理解為第二種的縮寫。第四種和第二種主要差異是插入方式不同,第四種效能略低

外連接

  • 外連接分為三種:左外連接,右外連接,全外連接。 SQL語句中可以使用左連接、右連接、全連接來實現這個功能。

左連線

什麼是左連線?

LEFT JOIN意思是取A表和B表的交集,同時包含左表中剩餘的資料。從笛卡爾積的角度仍然來看,我們需要先挑選出符合ON子句條件的記錄,然後再將左表A表中剩餘的記錄加入進去

MySQL連線查詢是什麼

#程式碼實作:

select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

結果:

MySQL連線查詢是什麼

右連接

什麼是左連接?

  • 同樣地,RIGHT JOIN等同於取得A表和B表的交集,再加上B表剩餘的資料。描述右連接時,可以從笛卡兒積的角度出發,即選出滿足ON條件的記錄,並將右表中未選取的記錄加入其中

MySQL連線查詢是什麼

程式碼實作:

select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E;

結果:

MySQL連線查詢是什麼

#全連接

全外連線就是求兩個表A和B集合的並集。從笛卡兒積的角度講就是從笛卡兒積中挑出ON子句條件成立的記錄,然後加上左表剩餘的記錄,最後加上右表中剩餘的記錄。另外MySQL不支援OUTER JOIN,但我們可以對左連接和右連接的結果做 UNION 操作來實現。

MySQL連線查詢是什麼

程式碼實作:

select*from aaa left join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E
union 
select*from aaa right join bbb on aaa.C=bbb.C and aaa.D=bbb.D and aaa.E=bbb.E

結果:

MySQL連線查詢是什麼

以上是MySQL連線查詢是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除