Расширенная фильтрация
- Комбинирование предложений WHERE
- Использование ключевого слова AND
- Использование ключевого слова OR
- Порядок обработки
- Использование ключевого слова IN
- Использование ключевого слова NOT
Использование ключевого слова IN
Ключевое слово IN используется для указания диапазона условий, любое из которых может быть выполнено. При этом значения, заключенные в скобки, перечисляются через запятую. Рассмотрим следующий пример:
WHERE vend_id IN ('DLLOl', 'BRSOl') ORDER BY prod_name
prod_name prod_price
-------------------- -------------------
12 inch teddy bear 8.9900
18 inch teddy bear 11.9900
8 inch teddy bear 5.9900
Bird bean bag toy 3.4900
Fish bean bag toy 3.4900
Rabbit bean bag toy 3.4900
Raggedy Ann 4.9900
Инструкция SELECT осуществляет выборку всех товаров, изготовленных производителями DLL01 и BRS01. После ключевого слова IN следует список значений через запятую, а весь список заключен в скобки.
Если вы подумаете, что ключевое слово IN выполняет ту же функцию, что и OR, то будете совершенно правы. Следующий SQL-запрос выполняет ту же функцию, что и предыдущий:
WHERE vend_id = 'DLLOl' OR vend_id = 'BRS01' ORDER BY prod_name;
prod_name prod_price
-------------------- -------------------
12 inch teddy bear 8.9900
18 inch teddy bear 11.9900
8 inch teddy bear 5.9900
Bird bean bag toy 3.4900
Fish bean bag toy 3.4900
Rabbit bean bag toy 3.4900
Raggedy Ann 4.9900
Зачем же нужно ключевое слово IN? Его преимущества следующие.
- При работе с длинными списками необходимых значений синтаксис логического оператора IN гораздо легче читать.
- При использовании ключевого слова IN гораздо легче управлять порядком обработки (так как используется меньшее количество операторов).
- Логические операторы IN почти всегда быстрее обрабатываются, чем списки логических операторов OR.
- Самое большое преимущество логического оператора IN в том, что в данном операторе может содержаться еще одна инструкция SELECT, а это позволяет создавать очень динамичные предложения WHERE. Более подробно вы об этом узнаете в разделе, "Использование подзапросов".



