数据库左右连接
2010-03-27 11:12
148 查看
总结SQL语句left join、right join、inner join以及where查询:
left join 左连接:以左侧的表为主,查询结果与左侧表的记录数相同
right join 右连接:以右侧表为主,查询结果与右侧表的记录数相同
例如:
表a:
aid adata
1 a1
2 a2
3 a3
表b:
bid bdata
1 b1
2 b2
4 b4
左链接:
Sql代码
select * from a left join b on a.aid=b.bid;
结果:
aid adata bid bdata
1 a1 1 b1
2 a2 2 b2
3 a3
右连接:
Sql代码
select * from a right join b on a.aid=b.bid;
结果:
aid adata bid bdata
1 a1 1 b1
2 a2 2 b2
4 b4
inner join内连接:查找两个表相匹配的记录,等同于where
内连接
Sql代码
select * from a inner join b on a.aid=b.bid;
结果:
aid adata bid bdata
1 a1 1 b1
2 a2 2 b2
等同于:select * from a,b where a.aid=b.bid
注意:没有left inner join,语法错误!
left join 是 left outer join 的简单写法;right join 是 right outer join 的简单写法
left join 左连接:以左侧的表为主,查询结果与左侧表的记录数相同
right join 右连接:以右侧表为主,查询结果与右侧表的记录数相同
例如:
表a:
aid adata
1 a1
2 a2
3 a3
表b:
bid bdata
1 b1
2 b2
4 b4
左链接:
Sql代码
select * from a left join b on a.aid=b.bid;
结果:
aid adata bid bdata
1 a1 1 b1
2 a2 2 b2
3 a3
只有表a中的数据
右连接:
Sql代码
select * from a right join b on a.aid=b.bid;
结果:
aid adata bid bdata
1 a1 1 b1
2 a2 2 b2
4 b4
inner join内连接:查找两个表相匹配的记录,等同于where
内连接
Sql代码
select * from a inner join b on a.aid=b.bid;
结果:
aid adata bid bdata
1 a1 1 b1
2 a2 2 b2
等同于:select * from a,b where a.aid=b.bid
注意:没有left inner join,语法错误!
left join 是 left outer join 的简单写法;right join 是 right outer join 的简单写法
相关文章推荐
- 数据库中的左右外连接
- 【数据库】左右连接和内连接
- 数据库左右连接说明
- 数据库几种连接方式的(左右union all)
- 数据库左右内外连接
- 数据库左右外连接与mapper.xml注意问题
- 数据库中左右连接
- 数据库 内外左右 连接
- 数据库左右连接
- 数据库左右内外连接(详细,易懂)
- (转)数据库左右连接,内外连接
- 数据库 左右连接
- 数据库左右内外连接(详细,易懂)
- 数据库内连接、外连接以及左右连接的区别
- 数据库左右(left,right)连接及多表连接(inner)
- 数据库查询语句的左右连接和内连接
- 数据库左右连接(分享)
- 数据库左右内外连接
- 浅析数据库中内连接、全连接与左右连接的不同点
- 数据库查询左右连接