Как бы SQL Server интерпретировать это, где предложение? - PullRequest
0 голосов
/ 09 октября 2019

Я смотрю на чужой производственный код, и меня удивляет, что предложение может привести к желаемому результату:

where C1 = 'one' and C2 not in ('apple','pear') and C3 <> 'pie'
   or C1 = 'two' and C2 not in ('apple','pear')             

C1 на самом деле имеет только два значения, поэтому в этом нет необходимостиукажите оба с помощью ИЛИ. Несмотря на это, я думаю, что это должно иметь круглые скобки, как это:

where (C1 = 'one' and C2 not in ('apple','pear') and C3 <> 'pie')
   or (C1 = 'two' and C2 not in ('apple','pear'))

Будет ли SQL Server интерпретировать первый оператор так же, как второй оператор с круглыми скобками? Если нет, то как бы он интерпретировал первое утверждение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...