Введение в AND в SQL

Работая с данными в SQL, аналитик часто сталкивается с ситуацией, когда данные необходимо фильтровать. Фильтрация является очень распространенной частью подготовки данных, и в SQL это возможно с помощью определенных логических операторов. Одним из таких операторов является оператор AND. Как следует из названия, он принимает во внимание все условия, которые связаны с ним. Для получения необходимых данных укажите условия в предложении WHERE, разделенные оператором AND. Если условия и оператор используются правильно, то результаты будут возвращены только для тех записей, которые соответствуют условиям.

Синтаксис:

Синтаксис оператора AND в SQL выглядит следующим образом:

SELECT column_1, column_2, …, column_n
FROM table_name
WHERE condition_1 AND condition_2 AND …. condition_n

Как AND работает в SQL?

Оператор AND в SQL проверяет, являются ли все условия оператора ИСТИННЫМИ, и возвращает записи, которые удовлетворяют этим критериям. Технически оператор AND означает «ИСТИНА, если оба логических выражения ИСТИНА». Для тех записей, которые удовлетворяют условиям, обязательные поля возвращаются. В некотором смысле оператор AND действует как фильтр, позволяя нам получать только ту часть данных, которую мы находим в контексте. Здесь еще одна важная вещь - это порядок выполнения SQL-запроса. Предложение WHERE стоит на порядок выше, и поэтому оператор AND появляется на рисунке ранее при обработке запроса, что фактически облегчает задачу фильтрации.

Примеры для реализации и в SQL

Примеры AND в SQL приведены ниже:

Пример № 1

Для этой демонстрации мы рассматриваем набор данных «клиенты». Набор данных содержит различные данные, относящиеся к клиентам, такие как их имена, контактные данные и кредитные лимиты. Наша задача состоит в том, чтобы получать записи только для тех клиентов, которые принадлежат Франции, с кредитным лимитом, превышающим или равным 75000. Здесь у нас есть два условия: во-первых, клиент должен принадлежать к определенной стране, т.е. в данном случае к Франции. Как только это условие выполнено, следующая задача состоит в том, чтобы идентифицировать тех клиентов среди всех клиентов из Франции, для которых кредитный лимит составляет либо 75000, либо превышает 75000. Чтобы объединить эти два условия и получить необходимые данные, мы должны использовать И оператор.

Код:

SELECT * FROM customers
WHERE creditLimit > 75000 AND country = 'France';

Выход:

Что если нам просто интересно узнать имя и фамилию клиентов, которые удовлетворяют этим двум критериям? Мы перепишем вышеупомянутый запрос, явно упомянув только те имена столбцов, которые нас интересуют, как показано ниже.

Код:

SELECT contactFirstName 'First Name', contactLastName 'Last Name'
FROM customers
WHERE creditLimit > 75000 AND country = 'France';

Как мы видим выше, имя контакта означает имя клиента. Аналогично, под фамилией контакта подразумевается фамилия клиента. Обратите внимание, что теперь оператор AND проверит, выполняются ли оба условия, и вернет имя и фамилию из соответствующих записей.

Выход:

Мы можем ввести столько полей в выводе, сколько пожелаем. Например, в приведенном выше запросе мы также можем указать кредитный лимит вместе с именами.

Пример № 2

В этой демонстрации мы хотели бы получить название тех велосипедов, цена которых превышает или равна 50 единицам. Набор данных продукта состоит из различных полей, включая код продукта, название продукта, линейку продуктов, поставщика продукта, описание продукта, количество товаров и цену покупки. Здесь самое важное поле - это линейка продуктов. Набор данных содержит сведения о различных продуктовых линейках автомобилей, таких как классические автомобили, мотоциклы, самолеты, корабли, поезда, грузовики и автобусы и винтажные автомобили. Поскольку нам интересно узнать цену на велосипеды, мы выберем «Мотоциклы» из поля линейки продуктов. Делая это, мы фильтруем данные по первым критериям. Теперь вторая задача - определить велосипеды, цена которых превышает или равна 50 единицам. Итак, мы добавим эти два условия вместе, используя оператор AND в предложении WHERE, и запрос для получения таких велосипедов следующий.

Код:

SELECT productName 'Product Name', buyPrice 'Price'
FROM products
WHERE productLine = 'Motorcycles' AND buyPrice >= 50

Выход:

В приведенном выше запросе мы дали псевдоним productName и поля цены покупки. Выход будет иметь эти два поля. Мы немного обновим запрос, добавив в него поле поставщика продукта. Обновленный запрос показан ниже.

Код:

SELECT productName 'Product Name', productVendor 'Product Vendor', buyPrice 'Price'
FROM products
WHERE productLine = 'Motorcycles' AND buyPrice >= 50;

Обратите внимание, что приведенный выше запрос даст нам подробную информацию о тех велосипедах, которые соответствуют определенным ценовым критериям. Самое главное, теперь мы видим, какие поставщики предоставляют какой велосипед вместе с ценой. Это очень важный аспект фильтрации данных с использованием AND. Очень важно, чтобы SQL-запрос давал некоторое представление о данных, и фильтрация является одним из тех инструментов, которые позволяют нам глубже вникать в данные.

Выход:

Пример № 3

В этой демонстрации наша цель состоит в том, чтобы получить имена тех учениц, которые принадлежат к классу X. Таким образом, по сути, два условия состоят в том, что ученик должен принадлежать к классу X, а пол ученика должен быть женским. Запрос для получения необходимых данных, как написано ниже:

Код:

SELECT student_name 'Name', student_gender 'Gender'
FROM students
WHERE student_class = 'x' AND student_gender = 'Female';

Выход:

Итак, у нас всего две ученицы в классе X.

Вывод

Оператор AND в SQL является очень важным оператором, без которого невозможно получить необходимую часть данных. Наряду с работой с предложением WHERE, оператор также эффективно работает с UPDATE и DELETE. Таким образом, при работе с несколькими условиями над данными полезен оператор AND.

Рекомендуемые статьи

Это руководство по AND в SQL. Здесь мы обсудим, как AND работает в SQL вместе с примерами и его реализацией кода. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. Различные виды ограничений SQL
  2. Расширенные команды SQL
  3. Примеры SQL SELECT Query
  4. Как создать базу данных в SQL?