关于join的on和where

1 left join 就是 left outer join 的缩写形式,两者功能一样
2 left outer join 显示左表的全部数据,未匹配项写null,right outer join 保留右表的全部数据,未匹配项写null
3 没有left inner join
4 inner join 只显示左表和右表向匹配的数据
5 关于on...and... 以及 on..where....and....的区别
    on条件是外联接时在生成临时表时使用的联结条件,不论从表是确定值还是NULL,主表所有的值都会出现;
 如果再加上and条件; 如果and条件引用的是主表的列,则对结果毫无影响,主表的所有纪录依然会全部出现;如果and条件引用的是从表的列,则不符合条件的从表纪录显示NULL;where条件是在临时表生成后,再对临时表进行过滤的条件。临时表中的所有纪录都受影响,不符合条件的纪录被过滤出结果集。

***********************************************************************************

***********************************************************************************

在On 中写and后,临时表的数辆不会因此而减少,个人感觉不建议这样写。应该把and统一写在where中。

Sql代码 :
 

posted on 2010-07-06 13:27  tigerhuolh  阅读(162)  评论(1编辑  收藏  举报

导航