SQL学习:on与where的区别

on与where的区别

1.on条件是在生成临时表时使用的条件,条件不为真也会返回数据。
2.where条件是对结果集进行筛选,不满足条件的会被过滤掉。

on与where对left jion、right jion、inner join的对结果的影响

1.在left jion中使用on,不管on中的条件是否为真,都会返回左表中的记录(右表中不满足的记录返回NULL)。
在right jion中使用on,不管on中的条件是否为真,都会返回右表中的记录(左表中不满足的记录返回NULL)。
2.在left jion、right jion中使用where,能将不满足条件的数据筛选掉。
3.在inner join中,就结果而言,条件写在on或者where中二者的结果没有区别。

left jion:

SQL学习:on与where的区别

left jion on:

SQL学习:on与where的区别

left jion where:

SQL学习:on与where的区别

right jion:

SQL学习:on与where的区别

right jion on:

SQL学习:on与where的区别

right jion and:

SQL学习:on与where的区别

inner jion:

SQL学习:on与where的区别

inner jion on:

SQL学习:on与where的区别

inner jion where:

SQL学习:on与where的区别