逻辑错误:

1. 对外联接中非保留表的列值进行where 过滤 (抵消了外联接的作用,所有的外部行就会被过滤掉)

  

2. 在多联接操作中,任何外联接,如果后面紧跟着一个内联或右外联接,都会抵消掉外联接的外部行。(前提是:左边外联接的null值 与右联接又进行了on 的比较)

    解决方案:1在第二个联接中也用左联接

                   2 注意设计联接的顺序, 先进行inner 内联接,再设计进行外联接

 3. 在联接查询中 on后的and 条件是为了决定是否匹配,而不是最终的条件 与 where后 的条件不同

书中需要准备的数据:

 

posted on 2011-05-17 14:21  cnby  阅读(481)  评论(1编辑  收藏  举报