кодесурса
«SQL

Оператор SQL IN

script1adsense2code
script1adsense3code

Оператор IN

Оператор IN проверяет значение в наборе значений, разделенных запятыми, и извлекает соответствующие строки из таблицы. IN возвращает 1, когда значение поиска, присутствующее в диапазоне, в противном случае возвращает 0.

Синтаксис:

 SELECT [имя_столбца ... | выражение]
ОТ [имя_таблицы]
{ГДЕ | Иметь | {И | OR}} значение [NOT] IN ({comp_value1, comp_value2 [, ...] | подзапрос}); 

Параметры:

название Описание
column_name Имя столбца таблицы.
выражение Выражение состоит из одной константы, переменной, скалярной функции или имени столбца и может также быть фрагментами запроса SQL, которые сравнивают значения с другими значениями или выполняют арифметические вычисления.
table_name Название стола
{ГДЕ | Иметь | {И | ИЛИ}} значение IN работает с предложением WHERE или HAVING. Вы также можете использовать операторы И или ИЛИ для мультиусловия WHERE или предложения HAVING.
НЕ Используется для исключения определенных нескольких значений в условии предложения WHERE.
comp_value1, comp_value2 ... | подзапрос Список сравнительных значений в скобках или подзапрос, который возвращает одно или несколько значений совместимого типа данных основного запроса.

Поддержка СУБД: оператор IN

СУБД команда
MySQL поддержанный
PostgreSQL поддержанный
SQL Server поддержанный
оракул поддержанный

Пример: оператор SQL IN

Чтобы узнать, присутствует ли значение поиска 15 в указанном диапазоне из таблицы DUAL , можно использовать следующую инструкцию SQL:

Код SQL:

SELECT 15 IN (5,10,15,20,56,69) 
FROM dual;

Иллюстрированная презентация:

«SQL

Оператор SQL IN с текстовым значением

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

Пример:

Пример таблицы: агенты


Здесь мы ищем всех агентов в таблице агентов базы данных инвентаризации, которые имеют рабочую зону штатов Лондон, Мумбаи или Ченнай.

Вот оператор SQL:

Код SQL:

SELECT *
FROM agents
WHERE working_area IN('London','Mumbai','Chennai');

Это утверждение также можно использовать как ниже:

Код SQL:

SELECT *
FROM agents
WHERE working_area='London' OR working_area='Mumbai' OR working_area='Chennai';

Выход:

 AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION PHONE_NO COUNTRY
---------- -------------------- -------------------- ---------- --------------- ----------
A003 Алекс Лондон .13 075-12458969
A010 Santakumar Chennai .14 007-22388644
А002 Мукеш Мумбаи .11 029-12358964
A006 McDen London .15 078-22255588

Иллюстрированное представление: оператор SQL IN с текстовым значением

Оператор SQL IN с числовым значением

Как можно искать числовое значение в списке значений, используя оператор IN в операторе выбора?

Пример:

Пример таблицы: агенты


Получить данные всех столбцов из таблицы «агенты» со следующим условием -

1. «Комиссией» для агентов будет любая из .13, .14 и .12,

можно использовать следующий оператор SQL:

Код SQL:

SELECT  *
FROM  agents
WHERE  commission  IN  (.13,.14,.12);

Выход:

 AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION PHONE_NO COUNTRY
---------- -------------------- -------------------- ---------- --------------- ------------
A003 Алекс Лондон .13 075-12458969
A001 Subbarao Bangalore .14 077-12346674
A008 Alford New York .12 044-25874365
A010 Santakumar Chennai .14 007-22388644
A012 Люсида Сан-Хосе .12 044-52981425
A005 Андерсон Брисбан .13 045-21447739

Оператор SQL IN с логическим НЕ

В следующем примере мы обсудили использование оператора IN с логическим оператором NOT в операторе выбора.

Пример:
Пример таблицы: агенты


Получить данные всех столбцов из таблицы «агенты» со следующим условием -

1. «комиссия» для агентов не будет равна .13, .14, .12,

можно использовать следующий оператор SQL:

Код SQL:

SELECT *
FROM agents
WHERE commission NOT IN (.13,.14,.12);

Выход:

 AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION PHONE_NO COUNTRY
---------- -------------------- -------------------- ---------- --------------- ---------
A009 Бенджамин Хэмпшир .11 008-22536178
A007 Рамасундар Бангалор .15 077-25814763
A011 Рави Кумар Бангалор .15 077-45625874
А002 Мукеш Мумбаи .11 029-12358964
A006 McDen London .15 078-22255588
A004 Иван Торенто .15 008-22544166

Иллюстрированное представление: оператор SQL IN с логическим НЕ

Упражнения по SQL

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущая: Логические операторы
Далее: МЕЖДУ

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code