-- 建立兩張**並分別插入資料
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....