您的位置:首页 > 数据库 > MySQL

mysql左连接、右连接、内连接(等值连接)、全连接

2016-04-24 21:10 483 查看
mysql左连接、右连接、内连接(等值连接)、全连接

===================================================================
1.准备表、数据

create table a(id int, nameA varchar(16));

insert into a values(1,'a1');

insert into a values(2,'a2');

create table b(id int, nameB varchar(16));

insert into b values(1,'b1');

insert into b values(3,'b3');

2.内连接、外连接

2.1内连接


----------------------------------------------------------

SELECT * from a inner JOIN b on a.id = b.id;    --内连接

1    a1    1    b1 

SELECT * from a, b where a.id = b.id;     --等值连接 = 内连接

1    a1    1    b1

2.2左连接

----------------------------------------------------------

SELECT * from a LEFT JOIN b on a.id = b.id;    --左连接

1    a1    1    b1

2    a2    null null

2.3右连接

----------------------------------------------------------

SELECT * from a right JOIN b on a.id = b.id;    --右连接

1    a1    1    b1

null null  3    b3

2.4全连接

----------------------------------------------------------

SELECT * from a FULL JOIN b;  --全连接

1    a1    1    b1

2    a2    1    b1

1    a1    3    b3

2    a2    3    b3

这几种连接的区别,大体可以理解为:

左连接以左边为基准,右边可能有空值;

右连接以右边为基准,左边可能有空值;

内连接则保证没有空值,不对应的就不显示了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息