1:这一条是条件写在最后的WHERE
SELECT   *
FROM         Pub_Goods AS a INNER JOIN
                      Pub_Kind AS b ON a.KindCode = b.Code INNER JOIN
                      Pub_Type AS c ON b.TypeCode = c.Code
WHERE     (a.Name = '产品名字') AND (b.Name = '分类名字') AND (c.Name = '类型名字')
2:这一条是条件写在On
SELECT    *
FROM         Pub_Goods AS a INNER JOIN
                      Pub_Kind AS b ON a.KindCode = b.Code AND a.Name = '产品名字' AND b.Name = '分类名字' INNER JOIN
                      Pub_Type AS c ON b.TypeCode = c.Code AND c.Name = '类型名字'
----------------
上面两条SQL要MS-SQL和Oracle中效率的详细区别
谢谢

解决方案 »

  1.   

    都是inner joing 应该效率差不多
      

  2.   

     第一个语句 是先关联  在关联结果中再where
     第二句  是直接条件关联 
     
     感觉第二个执行效率好些。
      

  3.   

    如果你都是inner join的话,没什麽区别。
      

  4.   

    http://www.cnblogs.com/JimmyGe/archive/2011/03/10/1980271.html请参考我写的这篇笔记。上边有SQL查询过程的详细执行过程。对于INNER JOIN,是完全相同的。对于外联接,除了先要做内联接,还需要添加外部行的(把那些保留字段的行加进来)。