sql语句中的on和where都是表示搜索条件.
在sql中有三种连接查询, cross join,inner join,和outer join
其中 cross join 和 inner join 有on和where的查询结果相同,但是在outer join 中
left join 和 right join ,查询结果并不相同.
on条件是在生成临时表时使用,他不管条件是否为真,都会返回左表的数据.
where条件则是在临时表生成之后,判断条件,若条件不符合,则删除数据.
在sql语句中执行的顺序,on在where之前先执行.
<>是不等于的意思
outer join相对于inner join的一个主要特性就是以一侧的表为基础
总的来说,outer join 的执行过程分为4步
1、from 先对两个表执行交叉连接(笛卡尔积)
2、应用on筛选器
3、添加外部行(outer join)
4、应用where筛选器
outer join有一个特点就是以一侧的表为基,假如另一侧的表没有符合on筛选条件的记录,则以null替代。在这次的查询中
链接: 转自这篇博客.
更多推荐
sql语句中的on和where的区别
发布评论