Mysql高階查詢 內連線和外連線詳解

2022-07-09 08:21:10 字數 2179 閱讀 2152

一、內連線(inner join)

1、等值連線

概述:指使用等號"="比較兩個表的連線列的值,相當於兩表執行笛卡爾後,取兩表鏈結列值相等的記錄。

語法

select 列

from 表1 inner join 表2

on 表1.列 = 表2.列

示例

2、非等值連線

概述:指使用大於號">"或小於號"

語法

select 列

from 表1 inner join 表2

on 表1.列 <> 表2.列

示例

select a.*, b.*

from student_info a inner join student_score b

on a.student_id > b.student_id

結果

二、外聯結

1、左外連線(left outer join)

概述:指將左表的所有記錄與右表符合條件的記錄,返回的結果除內連線的結果,還有左表不符合條件的記錄,並在右表相應列中填null。

示例

select a.*, b.*

from student_info a left join student_score b

on a.student_id = b.student_id

結果

3、全外連線(full join)——mysql不支援

概述:指將左表所有記錄與右表所有記錄進行連線,返回的結果除內連線的結果,還有左表與右表不符合條件的記錄,並在左表與右表相應列中填null。

三、自然連線(natural join

概述:指自動將表中相同名稱的列進行記錄匹配。

示例

select a.*, b.*

from student_info a natural join student_score b

結果

四、自連線

概述:指用表的別名實現表自身的連線。

示例

select b.*

from student_score a, student_score b

where a.student_id = b.student_id

and b.student_score > 80

結果

最後附上一張圖,此圖在手,天下我有

Mysql連表查詢(內連線 外連線)

建立兩張 並分別插入資料 create table ifnot exists left table id int auto increment,age int,name varchar 20 primary key id engine innodb default charset utf8 auto...

mysql 內連線和外連線查詢

一 內連線查詢 笛卡兒積 內聯接查詢inner join,mysql可以簡寫為join 二 外連線查詢 左外聯接查詢left outer join,mysql可以簡寫為left join 右外聯接查詢right outer join,mysql可以簡寫為right join 舉個栗子 建立兩張表t1...

連表查詢(內連線,左外連線,右外連線)

用兩個表 a table b table 關聯欄位a table.a id和b table.b id來演示一下mysql的內連線 外連線 左 外 連線 右 外 連線 全 外 連線 mysql版本 server version 5.6.31 mysql community server gpl 資料庫...