В сегодняшнем уроке мы рассмотрим на практике то, как использовать условие WHERE в операторе SELECT для фильтрации строк из набора результатов в MySQL.
Условие WHERE
позволяет задать условие поиска для строк, которые возвращаются в запросе. Ниже показан синтаксис условия WHERE
:
SELECT select_query FROM table_name WHERE condition;
Условие condition
– это комбинация одного или нескольких утверждений, которые используют логический оператор AND
, OR
и NOT
.
В MySQL утверждение (предикат) – это логическое выражение, которое оценивается как TRUE
, FALSE
или UNKNOWN
.
Любая строка из table_name
, которая приводит к тому, что condition
оценивается как TRUE
, будет включена в окончательный набор результатов.
Помимо оператора SELECT, вы можете использовать условие WHERE
в операторе UPDATE
или DELETE
, чтобы указать, какие строки нужно обновить или удалить.
В операторе SELECT
условие WHERE
оценивается после условия FROM
и перед условием SELECT
.
В следующем запросе используется условие WHERE
для поиска всех сотрудников, названия должностей которых являются Менеджер:
SELECT lastname, firstname, dolzhnost FROM sotrudniki WHERE dolzhnost = 'Менеджер';
В этом примере инструкция SELECT
проверяет все строки таблицы сотрудников и выбирает только строку, значение которой в столбце dolzhnost
равно Менеджер.
В следующем примере используется условие WHERE
для поиска сотрудников, названия должностей которых являются Менеджер, а служебные коды равны 1:
SELECT lastname, firstname, dolzhnost, officeKod FROM sotrudniki WHERE dolzhnost = 'Менеджер' AND officeKod = 1;
В этом примере выражение в предложении WHERE
использует оператор AND
для объединения двух условий:
dolzhnost = 'Менеджер' AND officeKod = 1;
Оператор AND
оценивается как ИСТИНА (TRUE
), только если оба выражения имеют значение TRUE
. Поэтому запрос возвращает строки, значения которых в столбце dolzhnost
равны Менеджер, а officeKod
равен 1.
Этот запрос находит сотрудников, название должности которых является Менеджер, или сотрудников, которые имеют офисный код 1:
SELECT lastName, firstName, dolzhnost, officeKod FROM sotrudniki WHERE dolzhnost = 'Менеджер' OR officeKod = 1;
Оператор OR
оценивается как ИСТИНА
, только если одно из выражений имеет значение TRUE
:
dolzhnost = 'Менеджер' OR officeKod = 1
Таким образом, запрос возвращает любого сотрудника, у которого есть должность Менеджер или офисный код 1.
Оператор BETWEEN
возвращает TRUE
, если значение находится в диапазоне значений:
expression BETWEEN low AND high
Следующий запрос находит сотрудников, которые находятся в офисах с офисным кодом от 1 до 3:
SELECT firstName, lastName, officeKod FROM sotrudniki WHERE officeKod BETWEEN 1 AND 3 ORDER BY officeKod;
Оператор LIKE
оценивается как ИСТИНА, если значение соответствует указанному шаблону. Чтобы сформировать шаблон, вы используете %
и _
подстановочные знаки. Подстановочный знак %
соответствует любой строке, состоящей из нуля или более символов, а подстановочный знак _
соответствует любому отдельному символу.
Этот запрос находит сотрудников, чьи фамилии заканчиваются строкой «ов»:
SELECT firstName, lastName FROM sotrudniki WHERE lastName LIKE '%ов';
Оператор IN
возвращает TRUE
, если значение соответствует любому значению в списке.
value IN (value1, value2, ...)
В следующем примере используется условие WHERE
с оператором IN
для поиска сотрудников, которые находятся в офисе с офисными кодами 1, 2 или 3.
SELECT firstName, lastName, officeKod FROM sotrudniki WHERE officeKod IN (1, 2, 3);
Чтобы проверить, является ли значение NULL
или нет, вы используете оператор IS NULL
, а не оператор равенства (=). Оператор IS NULL
возвращает TRUE
, если значение равно NULL
.
value IS NULL
В мире баз данных NULL
– это маркер, который указывает, что часть информации отсутствует или неизвестна. Это не эквивалентно числу 0 или пустой строке.
Этот оператор использует условие WHERE
с оператором IS NULL
, чтобы получить строку, значение которой в столбце officeKod
равно NULL
:
SELECT lastName, firstName, officeKod FROM sotrudniki WHERE officeKod IS NULL;
Из сегодняшнего урока вы узнали, как на практике использовать условие WHERE
в MySQL для фильтрации строк результатов по нужным критериям.
В современном мире цифрового маркетинга Facebook (Meta) остается одной из самых мощных платформ для продвижения…
Этот прибор стал незаменимым элементом арсенала представителей множества профессий, но особенно актуален среди военных. Тепловизор…
Постоянный поток новостей, рабочих задач и личных забот часто приводит к тому, что в голове…
В 2025 году конкуренция в e-commerce стала жесткой как никогда. Клиенты выбирают не только по…
Веб-дизайнеры и разработчики всегда ищут что-то новое и креативное, чтобы сделать свой сайт уникальным и…
Представьте ситуацию, когда вы пытаетесь обновить свой веб-сайт, но по какой-то причине у вас нет…