Sql where子句中的条件差异

Sql where子句中的条件差异,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,为什么在联接时重复以下查询条件?与第二个查询相比,这有什么影响吗 一, 二, 谢谢, Work这两个查询返回相同的结果(在删除第一个查询中的问号并更正第二个查询末尾缺少的结束括号之后),但在第一个版本中存在大量冗余条件 当您将条件分组到括号中时,我希望看到或,但只有和。您可以去掉括号并简化为: select * from A147_BOMDETAILS_VIEW T1 left join A147_INVENTQTYCOSTS_VIEW T2 on T1.INVENTCOLORID_

为什么在联接时重复以下查询条件?与第二个查询相比,这有什么影响吗

一,

二,

谢谢,
Work

这两个查询返回相同的结果(在删除第一个查询中的问号并更正第二个查询末尾缺少的结束括号之后),但在第一个版本中存在大量冗余条件

当您将条件分组到括号中时,我希望看到
,但只有
。您可以去掉括号并简化为:

select *
from A147_BOMDETAILS_VIEW T1
  left join A147_INVENTQTYCOSTS_VIEW T2
    on T1.INVENTCOLORID_COMPONENT = T2.INVENTCOLORID
   and T1.DATAAREAID = T2.DATAAREAID
   and T1.partition = T2.partition
   and T1.INVENTSITEID = T2.INVENTSITEID
   and T1.ITEMID_COMPONENT = T2.ITEMID
select *  
FROM  A147_BOMDETAILS_VIEW T1 
  LEFT OUTER JOIN A147_INVENTQTYCOSTS_VIEW T2 
    ON T1.INVENTCOLORID_COMPONENT=T2.INVENTCOLORID 
    AND (T1.DATAAREAID = T2.DATAAREAID) 
    AND (T1.PARTITION = T2.PARTITION 
    AND T1.INVENTSITEID=T2.INVENTSITEID 
    and T1.ITEMID_COMPONENT=T2.ITEMID
select *
from A147_BOMDETAILS_VIEW T1
  left join A147_INVENTQTYCOSTS_VIEW T2
    on T1.INVENTCOLORID_COMPONENT = T2.INVENTCOLORID
   and T1.DATAAREAID = T2.DATAAREAID
   and T1.partition = T2.partition
   and T1.INVENTSITEID = T2.INVENTSITEID
   and T1.ITEMID_COMPONENT = T2.ITEMID