Я не уверен в функциональности предложения IN, поэтому я хочу знать, могу ли я безопасно выполнить запрос. Для того, что я понимаю при использовании предложения IN в SQL Server создает серию операторов OR:
Так например
SELECT * FROM table WHERE column IN (1, 2, 3, 4, 5, 6)
Будет таким же, как:
SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3 OR column = 4 OR column = 5 OR column = 6
Но что происходит, когда выполняется нечто подобное:
SELECT * FROM table WHERE column IN (1, 2, 3) and column2 IN (4,5,6) and column 3 IN (5,7,8)
Здесь я хочу знать, если, например, если какое-либо значение из первого IN имеет два вхождения во втором, оно получит оба результата, или если оно выполнено в порядке, подобном 1 и 4 и 5 (первое значение в пределах IN пункты)
Я хочу выполнить запрос с 8 параметрами, которые мне нужно проверить в БД (отправка на C #), но я не хочу создавать супер-огромный запрос с большим количеством ИЛИ, как это (потому что это будет + 90 тыс. Записей)
SELECT * FROM table WHERE (column = 1 and column2 = 4 and column3 = 5 ) or
(column = 2 and column2= 5 and column3 = 7) OR ....
Или я не знаю, есть ли лучший подход для решения этой проблемы, я открыт для идей.
Спасибо