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
这几种连接的区别,大体可以理解为:
左连接以左边为基准,右边可能有空值;
右连接以右边为基准,左边可能有空值;
内连接则保证没有空值,不对应的就不显示了。
===================================================================
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
这几种连接的区别,大体可以理解为:
左连接以左边为基准,右边可能有空值;
右连接以右边为基准,左边可能有空值;
内连接则保证没有空值,不对应的就不显示了。
相关文章推荐
- 分享ThinkPHP3.2中关联查询解决思路
- MyBatis实践之动态SQL及关联查询
- MyBatis实践之动态SQL及关联查询
- MyBatis中的递归查询
- Yii1.1中的关联查询
- 变量与魔术方法
- Ibatis的关联查询和关联结果
- SQL多表连接查询(详细实例)
- hibernate 中 Criteria 的使用介绍
- OCP-1Z0-051 第8题 子查询和多表关联查询和情况
- Rails中文Podcasts【一】
- hibernate关联查询
- java hibernate关联查询返回一个集合,转换成json报json死循环处理
- 关联查询
- mybatis的表关联查询,多个参数关联查询
- 不使用left-join等多表关联查询,只用单表查询和Java程序,简便实现“多表查询”效果
- MyBatis关联查询简单示例
- Mybatis(三)— 关联查询
- MyBatis 实践 -动态SQL/关联查询
- thinkphp 关联查询 数据比对 exp