关于leftjoinonor的信息
http://www.itjxue.com 2023-01-27 13:27 来源:未知 点击次数:
sql语句中的left join on 中的on是什么意思?on后边必须跟两个表中的主键字段吗?
on是筛选条件,筛选两个表之间的关系,on后面仅要两表的值有一定的联系就可以,是值有联系即可,不必是主键
深入Oracle的left join中on和where的区别详解
可以简单的理解为 on 后面的条件是加在 left join 的表上的,where 后面的条件,是加在left join结果集上的
如果把对 left join表的字段条件(is null除外),从on挪到where,那么就和inner join没有区别了
例1:此处的left join改成inner join是一样的,where的意思是B必须存在,且col2=1
select?*?from?A
left?join?B?on?A.col1=B.col1
where?B.col2=1
例2:以下两个的效果是一样的
select?*?from?A
left?join?B?on?A.col1=B.col1?and?B.col2=1
select?*?from?A
left?join?B?on?A.col1=B.col1
where?B.col1?is?null?or?B.col2=1
sql left join on 多个条件查询很慢
left
join
就是左连接,
class是主表,content是从表,左连接就是class显示为主,无论左边有没关联其他信息,都显示出来,就像牧马人(主)和马(从)的关系,牧马人可以有很多匹马,也可以有很少马,也可以没有马,没有马就不是牧马人了吗?这太变扭了!
楼主还可以试下用right
join来连接两表!