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

2021-08-03 19:53:55 字數 3053 閱讀 1794

-- 建立兩張**並分別插入資料

create

table

ifnot

exists left_table

(id int auto_increment,

age int,

name varchar(20),

primary

key(id)

)engine=innodb default charset=utf8 auto_increment=1;

insert

into left_table(`age`,`name`)

values(25,'小明');

insert

into left_table(`age`,`name`)

values(15,'小紅');

insert

into left_table(`age`,`name`)

values(35,'小呂');

insert

into left_table(`age`,`name`)

values(45,'大綠');

create

table

ifnot

exists right_table

(id int

primary

key auto_increment,

age int,

name varchar(20)

)engine=innodb default charset=utf8 auto_increment=1;

insert

into right_table(`age`,`name`)

values(29,'高興');

insert

into right_table(`age`,`name`)

values(25,'快樂');

insert

into right_table(`age`,`name`)

values(39,'開心');

insert

into right_table(`age`,`name`)

values(45,'喜悅');

左連線也叫左外連線

語法如下

select l.*,r.*

from left_table l

(where ...)

left (outer) join

right_table r

(where ...)

on ...

對示例量表進行操作

select l.*,r.*

from left_table l

left

outer

join

right_table r

on l.age=r.age;

結果

可知:

語法如下

select l.*,r.*

from left_table l

(where ...)

right (outer) join

right_table r

(where ...)

on ...

示例

select l.*,r.*

from left_table l

right

join

right_table r

on l.age=r.age;

結果

語法如下

select l.*,r.*

from left_table l

(where ...)

[inner] join

right_table r

(where ...)

on ...

示例

select l.*,r.*

from left_table l

join

right_table r

on l.age=r.age;

結果

如果想要實現全連線的功能,可採用

左連線 union 右連線

此處是union,關於union與union all的區別,參考:

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

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

聯表查詢 內連線 外連線

1.說明 聯表查詢可實現兩個或多個表之間的連線查詢,一般用於有主外來鍵關係表之間的連查詢,這裡拿兩個有主外來鍵關係的表來舉例說明聯表查詢的使用。student表 其中classid為外來鍵 class表 2.內連線查詢 查詢出學生的所有資訊 select from student a,class b...

聯表查詢 內連線 外連線

內連線 inner join 語句1 隱式的內連線,沒有inner join,形成的中間表為兩個表的笛卡爾積。select s.stuid,s.stuname,c.courseid,c.coursename from student as s,course as c where s.stuid c....