Операторы 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 всех клиентов, где
Оператор 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
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 .
