MySQL之聯結 join 操作型別概念總結

2021-07-30 09:20:37 字數 690 閱讀 4046

鏈結(join)操作有好幾種型別,很容易混淆掉的,今天我做一總結,以做更深層次的理解。

從聯結約束檢舉程式上來分,聯結操作可以有以下三種:

a、條件聯結:聯結時要有聯結條件的

b、同等聯結:聯結時要求兩個屬性值必須相等 

c、笛卡兒積(cross join 交叉聯結):無須滿足任何條件。

下面我列出在rdbs中有可能遇到的各種join操作的型別:

1、內聯結:對兩個關係進行聯結,返回匹配的元祖。

2、外聯結:分為左、右、全外聯結,至少返回from子句所列出的其中的乙個表或檢視的全部行——只要那些行滿足全部的where搜尋條件。但左、右、全外聯結返回結果大有不同,下面分作解釋。

左外聯結:返回位於聯結操作符左側的那個表的全部行;

右外聯結:對兩個關係進行聯結,返回匹配的元祖和位於聯結操作符右側的那個表的全部元祖;

全外聯結:返回位於聯結操作符左、右兩側的兩個表的所有元祖。

注意:不匹配的行的屬性值將返回為空值,比如某字段不匹配,將以空值null的形式顯示於結果中。

3、叉積聯結:對兩個關係進行聯結,把第乙個關係裡的每乙個元祖對映到另乙個關係裡的全部元祖上。

4、並,對兩個有著同樣結構的關係進行聯結,只返回滿足條件的匹配,相當於資料集合理論中的「並」操作。

5、交,對兩個有著同樣結構的關係進行聯結,只返回不滿足條件的匹配,相當於資料集合理論中的「交」操作。

MySQL備忘之表聯結(JOIN)

個人覺得寫得極好的一篇部落格 本來就是乙個左右不分的迷糊蟲,剛開始學習表聯結時,出現了left join,right join,inner join,balala 已經懵圈了,知道遇到這幅圖,整個世界都清明了。但是,mysql不支援full join,不過可以通過union 關鍵字來合併 left ...

MySQL 什麼是聯結join

目錄 什麼是聯結?內部聯結?表的別名 自聯結外部聯結 1 內部聯結 2 外部聯結 left join 3 外部聯結 right join 聯結或者說關聯,指的就是在資料檢索查詢時,將多個表的資料聯絡起來,完成共同的查詢。比如這樣進行搜尋 select vend name,prod name,prod...

MySQL之join查詢介紹

join主要根據兩表或多表之間列的關係,從這些表中進行資料的查詢。1 tb emp表。drop table ifexists tb emp create table tb emp id int 11 not null auto increment,name varchar 20 not null d...