1.ON
on不仅仅可以作为表的连接,也可以过滤条件。
select user_name ,dept_name from `user` as u join department as d
on u.id>1
2.区别
1)解释
ON和WHERE的主要区别在于,on是执行在join语句之前,WHERE是执行在join语句之后。
join语句做的操作是加入外部行,比如说left,right,full连接操作加入的不符合连接条件的行。
2)示例1
在进行from语句的连接操作时
select user_name ,dept_name from `user` as u join department as d
查询结果:
yyf 运维
yyf 开发
jam 运维
jam 开发
amy 运维
amy 开发
tomy运维
tomy开发
并没有将外部列加入。
在使用完left语句后
select user_name ,dept_name from `user` as u left join department as d
on u.dept_id=d.id
yyf 运维
jam 运维
amy 开发
tomy null
所以是join语句加入了外部列。
3)示例2
ON