Странное поведение: оператор SQL And с несколькими операторами IN - PullRequest
0 голосов
/ 14 сентября 2009

Я использую несколько операторов IN с AND в моем предложении sql where, как указано ниже ...

---
where ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')

Но на удивление поведение результата похоже на тип OR, а не на тип AND. Я имею в виду, что это игнорирование оператора И ...

Не могли бы вы объяснить, почему?

1 Ответ

1 голос
/ 14 сентября 2009

Не удалось воспроизвести результат с использованием SQL Server 2008.

SELECT * FROM 
(
  SELECT 0 AS ID, 'wow' as Tag
) X
WHERE ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')

Результат: Нет записей

SELECT * FROM 
(
  SELECT 1 AS ID, 'wow' as Tag
) X
WHERE ID in (1, 3, 234, 2332, 2123, 989) AND tag in ('wow', 'wonderful')

Результат:

ID    Tag
1  wow

Проверьте ваш код еще раз.

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