join的常见用法如下所示:
- left join
- right join
- join
- full join
- cross join
left join:
select * from a left join b on ……
左连接,用on接关联条件。表a左连接表b,以表a为主
,关联表b数据,其中表b中没有的部分用Null表示。说明:结果只有表a的tag,只是把b中一样的数据加进去了,b有a没有的数据直接扔掉了,a有b没有的数据写为Null。
right join:
select * from a right join b on ……
右连接,用on接关联条件。表a右连接表b,以表b为主,关联表a数据,其中表a中没有的部分用Null表示。说明:结果只有表b的tag,只是把a中一样的数据加进去了,a有b没有的数据直接扔掉了,b有a没有的数据写为Null。
join:
select * from a inner join b on ……
内连接,用on接关联条件。表示两个表的交集,查出来是两个表有交集的部分。
full join:
select * from a full join b on ……
内连接,用on接关联条件。表示两个表的并集,从笛卡尔积的角度讲就是从笛卡尔积中挑出满足on条件的记录,然后加上左表中剩余的记录,最后加上右表中剩余的记录。
cross join:
`select * from a cross join b 交叉连接。结果为两个表的笛卡尔积。
注意:cross join后面不加on条件,如果加了on和join的效果一样