кодесурса
«SQLite

SQLite IN и NOT IN операторы

script1adsense2code
script1adsense3code

Вступление

Операторы IN и NOT IN принимают один скалярный операнд слева и векторный операнд справа, образованный явным списком из нуля или более скаляров или одним подзапросом. Когда правый операнд оператора IN или NOT IN является подзапросом, подзапрос должен иметь один столбец результата. Когда правый операнд является пустым набором, результат IN равен false, а результат NOT IN - true, независимо от левого операнда и даже если левый операнд равен NULL. Результат оператора IN или NOT IN определяется следующей матрицей:

Левый операнд равен NULL Правый операнд содержит NULL Правый операнд - пустой набор Левый операнд найден в правом операнде Результат оператора IN Результат оператора NOT IN
нет нет нет нет ложный правда
не имеет значения нет да нет ложный правда
нет не имеет значения нет да правда ложный
нет да нет нет НОЛЬ НОЛЬ
да не имеет значения нет не имеет значения НОЛЬ НОЛЬ

Синтаксис:

 SELECT [имя_столбца ... | выражение]
ОТ [имя_таблицы]
ГДЕ [НЕ] IN (значение_1, значение_2 ..... значение_n);
  

Версия SQLite: 3.8

параметры

название Описание
column_name Имя столбца таблицы.
выражение Выражение состоит из одной константы, переменной, скалярной функции или имени столбца и может также быть фрагментами запроса SQLite, которые сравнивают значения с другими значениями или выполняют арифметические вычисления.
table_name Наименование таблицы.
значение_1 значение_2 ... Значения указаны в скобках.

пример

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

SELECT 10 IN(10, 20, 30);

Вот результат.

 10 В (10, 20, 30)
-----------------
1
SELECT 4 IN(10, 20, 30);

Вот результат.

 4 В (10, 20, 30)
----------------
0

Пример: оператор SQLite IN с текстовым значением

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

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


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

1. «Рабочая зона» для «агентов» - это «Лондон», «Мумбаи» или «Ченнай»,

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

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

Вот результат.

 AGENT_CODE AGENT_NAME WORKING_AREA
---------- ---------------------------------------- ------------
A010 Сантакумар Ченнаи
A002 Мукеш Мумбаи
A006 McDen London

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

SELECT agent_code, agent_name, working_area 
FROM agents  
WHERE working_area='London' 
OR working_area='Mumbai'
OR working_area='Chennai';

Вот результат.

 AGENT_CODE AGENT_NAME WORKING_AREA
---------- ---------------------------------------- ------------
A010 Сантакумар Ченнаи
A002 Мукеш Мумбаи
A006 McDen London

Пример: оператор SQLite IN с числовым значением

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

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


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

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

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

SELECT agent_code,agent_name,working_area FROM agents 
WHERE commission IN (.13,.14,.12);

Вот результат.

 AGENT_CODE AGENT_NAME WORKING_AREA
---------- ---------------------------------------- -------------------------------------
A003 Алекс Лондон
A008 Alford New York
A010 Сантакумар Ченнаи
A012 Люсида Сан-Хосе
A005 Андерсон Брисбан
A001 Суббарао Бангалор

Пример: оператор SQLite NOT IN

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


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

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

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

SELECT agent_code,agent_name,working_area
FROM agents 
WHERE commission NOT IN (.13,.14,.12);

Вот результат.

 AGENT_CODE AGENT_NAME WORKING_AREA
---------- ---------- ------------
A007 Рамасундар Бангалор
A011 Рави Кумар Бангалор
A002 Мукеш Мумбаи
A006 McDen London
A004 Иван Торенто
A009 Бенджамин Хэмпшир

Предыдущий: МЕЖДУ Оператором
Далее: СУЩЕСТВУЕТ Оператор

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code