您的位置:首页 > 数据库

sql join的5种连接方式

2016-04-20 14:51 316 查看
首先介绍一下,join有5中连接方式:1.内连接(inner
join...on...)2.全外连接(full join ....on ... )3.左连接(left join ...on...)4.右连接(right join ...on ...)5.交叉连接(cross
join ...on ...)

1.内连接(inner
join...on...)

select * from
table1 a inner join table2 b on a.id=b.id 通过id将table1和table2 连接起来产生一个新表,新表是由这两个表的公共部分组成;如下图:



2.左外连接(left
join ....on ... )

select
* from table1 a left join table2 b on a.id=b.id 是以左表(table1)为基准,查询结果中包含左表全部数据,右表匹配数据不存在时用null代替;如下图:



3.右外连接(right
join ... on...)

select
* from table1 a right join table2 b on a.id=b.id 跟左外连接相对应,是以右表(table2)为基准,查询结果中包含右表全部数据,左表数据匹配不存在时用null代替;如下图:



4.全外连接(full join ...on...)

select
* from table1 a full join table2 b on a.id=b.id 全外连接其实是左连接和右连接的一个合集,也就是说他会查询出左表和右表的全部数据,匹配不上的会显示为null;如下图:



5.交叉连接(cross
join...)

select * from table1 a crossjoin
table2 b ;

也可以写为 select * from table1,table2;

交叉连接,也称为笛卡尔积,查询返回结果的行数等于两个表行数的乘积

以上是我对5种join连接方式的理解,欢迎大家借鉴补充!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: