Sql Scholl
Распечатать страницу
Перейти на главную Карта сайта Отправить сообщение

Расширенная фильтрация

Использование ключевого слова IN

      Ключевое слово IN используется для указания диапазона условий, любое из которых может быть выполнено. При этом значения, заключенные в скобки, перечисляются через запятую. Рассмотрим следующий пример:

SELECT prod_name, prod_price FROM Products
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-запрос выполняет ту же функцию, что и предыдущий: 

SELECT prod_name, prod_price FROM Products
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. Более подробно вы об этом узнаете в разделе, "Использование подзапросов". 

 

 

 

IN

Ключевое слово, используемое в предложении WHERE для указания списка значений, обрабатываемых так же, как это делается в случае применения ключевого слова OR.