Содержание
В предыдущем посте мы рассматривали оператор WHERE, операторы сравнения, логические OR и AND. Сейчас мы рассмотрим два других оператора, которые используются с WHERE
— это оператор IN
и NOT IN
В данном посте для простоты будет использоваться не локальная база данных, а взятая тут. В поле SQL Statement вы можете копировать код из данного поста и сразу смотреть результат.
WHERE IN
В предыдущем посте мы рассматривали оператор OR
и там был такой пример:
SELECT *
FROM Customers
WHERE Country = 'France' OR Country = 'Germany'
Этот же пример мы можем сделать с помощью оператора IN
:
SELECT *
FROM Customers
WHERE Country IN('France', 'Germany')
Результат будет тот же самый, но преимущество оператора IN
будет в лаконичности записи, если вам нужно задать три и более условия.
SELECT *
FROM Customers
WHERE Country IN('France', 'Germany', 'UK', 'Spain')
Код выше будет короче и понятнее чем:
SELECT *
FROM Customers
WHERE Country = 'France' OR Country = 'Germany' OR Country = 'UK' OR Country = 'Spain'
WHERE NOT IN
Оператор NOT IN
работает похожим образом, только в нем нам нужно задать те параметры, которые мы не хотим видеть в результатах.
Если, скажем, нам нужны пользователи из всех стран, кроме четырех из примера выше:
SELECT *
FROM Customers
WHERE Country NOT IN('France', 'Germany', 'UK', 'Spain')
Как видно из примера в результате выполнения запроса мы получили пользователей всех, кроме указаных стран
[…] Такой же результат можно получить с помощью оператора IN. […]