次のステートメントがあるとします。
SELECT * FROM MyTable WHERE a = 1 or b = 2 and c = 3
それは (a = 1) OR (b = 2 AND c = 3) という意味ですか、それとも (a = 1 または b = 2) AND c = 3 という意味ですか? AND の前に OR を実行するなど、意味を変更できますか、それとも不可能ですか?
次のステートメントがあるとします。
SELECT * FROM MyTable WHERE a = 1 or b = 2 and c = 3
それは (a = 1) OR (b = 2 AND c = 3) という意味ですか、それとも (a = 1 または b = 2) AND c = 3 という意味ですか? AND の前に OR を実行するなど、意味を変更できますか、それとも不可能ですか?
Technetから:
ステートメントで複数の論理演算子が使用されている場合、AND 演算子が最初に評価されます。括弧を使用して、評価の順序を変更できます。
そうです、それは を意味し(a = 1) OR (b = 2 AND c = 3)
ます。
上記のように括弧を記述して、必要な動作を強制できます。(a = 1 OR b = 2) AND c = 3