2016-04-29 9 views
1

愚かな質問が、SQL ServerのANDとORとAND

Select * from TableA 
where 
System=1 and Acct=2 and FiscalNo=4 
or 
System=2 and FiscalNo=4 and SubAcct=1521 

Select * from TableA 
where 
(System=1 and Acct=2 and FiscalNo=4) 
or 
(System=2 and FiscalNo=4 and SubAcct=1521) 

の間に差があるの通知は、違いは最初のクエリは、カッコ

+2

読みやすさを除いて、他に違いはありません。 –

答えて

3

を持っていないカッコ ですIt shouldn't matter muchがSQLステートメント内の操作の順序のために発生します。それでもやはりORを優先します。

3

ANDは、ORより高い優先度でバインドします。したがって、違いはありません。

ただし、わかりやすくするためにスタイル2を使用してください。それはこの問題の必要性を取り除く。