Mysql中有join, inner join, left join, right join, full join等概念。
join和inner join是一个意思,如果表中有至少一个匹配,则返回行。
left join:即使右表中没有匹配,也从左表返回所有的行。
full join: 只要其中一个表中存在匹配,就返回行。
连接查询中inner join和联表查询的区别:
inner join是内链接,和联表查询是一样的。但是有一点小区别就是你inner join 先过滤数据在联表查询,而联表是取所有数据再过滤。联表查询相对来说内链接速度稍慢。
结论:
尽量使用Join 而不是Where来列出关联条件,特别是多个表联合的时候。
原因是:
(1)在效率上,Where可能具有和Inner join一样的效率。但基本可以肯定的(通过SQLServer帮助和其它资料,以及本测试)是Join的效率不比Where差。
(2)使用Join可以帮助检查语句中的无效或者误写的关联条件