SQL左右连接中的on and和on where的区别
程序员文章站
2022-06-12 13:29:27
在使用left join时,on and和on where条件的区别如下: 1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了, ......
在使用left join时,on and和on where条件的区别如下:
1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,
条件不为真的就全部过滤掉,on后的条件用来生成左右表关联的临时表,where后的条件对临时表中的记录进行过滤。
在使用inner join时,不管是对左表还是右表进行筛选,on and和on where都会对生成的临时表进行过滤
推荐阅读
-
SQL Server中与IO相关的等待类型:IO_COMPLETION和PAGEIOLATCH_*
-
C#中Property和Attribute的区别实例详解
-
Android 中raw和assets文件夹的区别
-
SQL左右连接中的on and和on where的区别
-
Javascript中类式继承和原型式继承的实现方法和区别之处
-
详解HTML5中div和section以及article的区别
-
老生常谈jquery中detach()和remove()的区别
-
Android MotionEvent中getX()和getRawX()的区别实例详解
-
详谈js中数组(array)和对象(object)的区别
-
关于Sequelize连接查询时inlude中model和association的区别详解