Not in sql: NOT IN | SQL | SQL-tutorial.ru

Операторы SQL AND, OR и NOT (с примерами)

В этом руководстве вы узнаете об операторах SQL AND, OR и NOT с помощью примеров.

Операторы AND , OR, и NOT в SQL используются с предложениями WHERE или HAVING .


Оператор SQL AND

Оператор SQL AND выбирает данные, если все условия равны TRUE . Например,

 -- выберите имя и фамилию всех клиентов.
-- которые живут в США и имеют фамилию Доу.
ВЫБЕРИТЕ имя, фамилия
ОТ клиентов
ГДЕ страна = 'США' И last_name = 'Доу'; 

Здесь команда SQL выбирает first_name и last_name всех клиентов, у которых страна USA и last_name Doe из клиентов стол.

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

Оператор SQL OR

Оператор SQL OR выбирает данные, если хотя бы одно из условий TRUE . Например,

 -- выберите имя и фамилию клиентов.
-- которые либо живут в США
-- или иметь фамилию "Доу"
ВЫБЕРИТЕ имя, фамилия
ОТ клиентов
ГДЕ страна = 'США' ИЛИ ​​last_name = 'Доу'; 

Здесь команда SQL выбирает first_name и last_name всех клиентов, где

страна — USA или если их фамилия Doe из таблицы Customers .

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

Оператор SQL NOT

Оператор SQL NOT выбирает данные, если задано условие FALSE . Например,

 — выберите клиентов, которые не живут в США.
ВЫБЕРИТЕ имя, фамилия
ОТ клиентов
ГДЕ НЕ страна = 'США'; 

Здесь команда SQL выбирает first_name и last_name всех клиентов, где страна не является USA из таблицы Customers .

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

Объединение нескольких операторов

Также можно комбинировать несколько операторов AND , OR и NOT в операторе SQL.

Например, предположим, что мы хотим выбрать клиентов, у которых страна — это либо США

, либо Великобритания , а возраст — это меньше 26 .

 -- выберите клиентов, проживающих в США или Великобритании и возраст которых не превышает 26 лет.
ВЫБИРАТЬ *
ОТ клиентов
ГДЕ (страна = «США» ИЛИ страна = «Великобритания») И возраст < 26 лет; 
Пример: операторы SQL AND и OR

Пример: объединение нескольких операторов в SQL

Давайте рассмотрим еще один пример объединения операторов.

 -- исключить клиентов из США с фамилией Doe.
ВЫБИРАТЬ *
ОТ клиентов
ГДЕ НЕ страна = 'США' И НЕ last_name = 'Доу'; 

Здесь команда SQL выбирает всех клиентов, у которых страна не является США и фамилия не является Doe из таблицы Customers .

Пример: операторы SQL AND и NOT

Содержание

Работа с операторами SQL И, ИЛИ и НЕ

Поиск

В предыдущем руководстве мы узнали, как работать с предложением WHERE в SQL, которое разработчики баз данных могут использовать, когда они хотят получить группу записей, соответствующих определенному критерию или условию. . Например, администратор базы данных может захотеть найти в базе данных каждый экземпляр, где имя пользователя равно «Ронни» или, что более вероятно, не равно «Ронни». Столь же мощное, как предложение WHERE в SQL, мы можем сделать его еще сильнее, если применим SQL 9.0148 НЕ , И , и ИЛИ операторы.

В этом руководстве по разработке баз данных администраторам и программистам баз данных показано, как использовать операторы NOT , AND и OR в SQL с синтаксисом, примерами кода и вариантами использования.

Прежде чем мы начнем, вы можете просмотреть наше руководство: Как использовать предложение SQL WHERE.

Что такое оператор И в SQL?

Оператор AND в SQL используется для отображения данной записи, если каждое условие, разделенное 9Оператор 0148 И равен TRUE . Он используется вместе с предложением WHERE для фильтрации записей на основе двух или более условий.

SQL AND Syntax

Синтаксис оператора AND в SQL следующий:

 SELECT columnA, columnB
ИЗ table_example
ГДЕ условие А и условие Б…;
 

Пример кода SQL AND

Для нашего примера кода оператора SQL AND предположим, что у нас есть база данных с именем Nakamura Industries , и в этой базе данных есть таблица с именем сотрудников , которая, как вы можете себе представить, содержит информацию, относящуюся к записям сотрудников. Далее предположим, что наша таблица имеет следующие столбцы:

  • firstName : содержит имя сотрудника
  • .
  • lastName: Содержит фамилию сотрудника
  • employeeID: Содержит уникальный номер, представляющий идентификационный номер сотрудника

Допустим, в этой таблице есть следующая информация:

 имя фамилия идентификатор сотрудника
Ронни Пейн 001
Донни Лэйн 002
Ронни Донни 003
 

Как использовать SQL И получить запись

Используя приведенную выше примерную таблицу, чтобы получить запись из базы данных с помощью SQL

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

 SELECT firstName, lastName, employeeID
ОТ сотрудников
ГДЕ firstName="Ронни" AND lastName="Пейн";
 

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

 Ронни Пейн 001
 

, когда мы выполняем наш запрос.

Запрос нескольких критериев И в SQL

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

 SELECT  fiRead: rstName, 
lastName, employeeID ОТ сотрудников ГДЕ firstName="Ронни" AND lastName="Payne" AND employeeID=007;

В этом примере запроса SQL мы просим базу данных вернуть каждую запись, которая имеет имя Ронни , фамилию Пейн и идентификатор сотрудника, соответствующий 007 .

Внимательные наблюдатели заметят, что сотрудник Ронни Пейн имеет идентификатор сотрудника 001 ; поскольку его идентификатор сотрудника не 007 и, следовательно, не , все три условия выполнены, запрос вернет пустой результат.

Если бы мы переписали наш SQL-запрос, чтобы отразить следующее, вместо этого он вернул бы желаемый результат:

 SELECT имя, фамилия, идентификатор сотрудника
ОТ сотрудников
ГДЕ firstName="Ронни" AND lastName="Payne" AND employeeID=001;
 

Используя этот обновленный SQL-запрос и оператор

И , мы получим следующий вывод:

 Ронни Пейн 001
 

Прочитано: Лучшие онлайн-курсы для изучения SQL

Что такое оператор SQL OR?

Как и оператор SQL AND , оператор OR работает в сочетании с предложением WHERE для запроса информации к таблицам базы данных, где одно или больше условий TRUE .

В отличие от оператора И , где все условия должны быть ИСТИНА , в сценариях, где используется ИЛИ , только одно условие должно оцениваться как ИСТИНА .

Синтаксис оператора SQL OR

Синтаксис оператора SQL OR следующий:

 SELECT columnA, columnB
ИЗ table_example
ГДЕ условиеA ИЛИ условиеB…;
 

SQL ИЛИ Код примера

В следующем примере мы будем использовать ту же базу данных, что и раньше, и на этот раз создадим запрос, где мы ищем firstName значений, равных Ted или Larry :

 SELECT firstName, lastName, employeeID
ОТ сотрудников
ГДЕ firstName="Тед" ИЛИ firstName="Ларри";
 

Выполнение приведенного выше SQL-запроса не вернет результатов, так как таблица employee не содержит записей firstName , содержащих Ted или Larry .

Рассмотрим следующий пример SQL:

 SELECT имя, фамилия, идентификатор сотрудника
ОТ сотрудников
ГДЕ firstName="Тед" ИЛИ firstName="Ронни";
 

В этом примере мы установили наши критерии для поиска в столбце firstName для либо Ted , либо Ronnie . Так как один из критериев оператора OR выполнен, то получаем результат:

 Ronnie Payne 001
Ронни Донни 003
 

Использование оператора SQL OR для запроса нескольких критериев

Подобно оператору AND , программисты и администраторы баз данных могут использовать оператор OR для извлечения данных из таблицы с использованием нескольких критериев. Вот пример того, как использовать 9Оператор 0148 ИЛИ с предложением WHERE для запроса данных на основе трех наборов критериев:

 SELECT имя, фамилия, идентификатор сотрудника
ОТ сотрудников
ГДЕ firstName="Тед" ИЛИ firstName="Ронни" ИЛИ firstName="Донни";
 

Здесь мы ищем значение Ronnie , Donnie , или Ted — если

любой из из этих критериев удовлетворяется, результаты будут возвращены. Ниже приведен результат выполнения этого запроса:

 Ронни Пейн 001
Донни Лейн 002
Ронни Донни 003
 

Что такое оператор SQL NOT

Оператор SQL NOT может немного сбивать с толку, и вам потребуется некоторое время, чтобы привыкнуть к его правильному использованию. Вместо того, чтобы использовать его для поиска критерия TRUE , программисты баз данных используют его для поиска данных, где набор критериев равен NOT TRUE , что технически отличается от FALSE .

Потому что есть значения, равные null в SQL оператор NOT иногда используется для запросов к базам данных. Значение null не является ни TRUE , ни FALSE — также известно как не 0 или 1 . Таким образом, если вы хотите запросить таблицу, содержащую нулевых значений , вы можете использовать оператор NOT для поиска таких значений.

Синтаксис оператора SQL NOT

Ниже приведен синтаксис для использования оператора NOT в SQL-запросах:

 ВЫБЕРИТЕ столбецA, столбецB
ИЗ table_example
ГДЕ НЕ условиеA …;
 

Пример кода оператора SQL NOT

Конечно, оператор SQL NOT также может просто извлекать значения из таблицы, которые не равны TRUE .

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *