Ознакомление с оператором WHERE в MySQL
В сегодняшнем уроке мы рассмотрим на практике то, как использовать условие WHERE в операторе SELECT для фильтрации строк из набора результатов в MySQL.
Основы использования условия WHERE в 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 в MySQL
Пример №1: Использование условия WHERE с оператором равно
В следующем запросе используется условие WHERE
для поиска всех сотрудников, названия должностей которых являются Менеджер:
SELECT lastname, firstname, dolzhnost FROM sotrudniki WHERE dolzhnost = 'Менеджер';
В этом примере инструкция SELECT
проверяет все строки таблицы сотрудников и выбирает только строку, значение которой в столбце dolzhnost
равно Менеджер.
Пример №2: Использование условия WHERE с оператором AND
В следующем примере используется условие 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.
Пример №3: Использование условия WHERE с оператором OR
Этот запрос находит сотрудников, название должности которых является Менеджер, или сотрудников, которые имеют офисный код 1:
SELECT lastName, firstName, dolzhnost, officeKod FROM sotrudniki WHERE dolzhnost = 'Менеджер' OR officeKod = 1;
Оператор OR
оценивается как ИСТИНА
, только если одно из выражений имеет значение TRUE
:
dolzhnost = 'Менеджер' OR officeKod = 1
Таким образом, запрос возвращает любого сотрудника, у которого есть должность Менеджер или офисный код 1.
Пример №4: Использование WHERE с оператором BETWEEN
Оператор BETWEEN
возвращает TRUE
, если значение находится в диапазоне значений:
expression BETWEEN low AND high
Следующий запрос находит сотрудников, которые находятся в офисах с офисным кодом от 1 до 3:
SELECT firstName, lastName, officeKod FROM sotrudniki WHERE officeKod BETWEEN 1 AND 3 ORDER BY officeKod;
Пример №5: Использование WHERE с оператором LIKE
Оператор LIKE
оценивается как ИСТИНА, если значение соответствует указанному шаблону. Чтобы сформировать шаблон, вы используете %
и _
подстановочные знаки. Подстановочный знак %
соответствует любой строке, состоящей из нуля или более символов, а подстановочный знак _
соответствует любому отдельному символу.
Этот запрос находит сотрудников, чьи фамилии заканчиваются строкой «ов»:
SELECT firstName, lastName FROM sotrudniki WHERE lastName LIKE '%ов';
Пример №6: Использование условия WHERE с оператором IN
Оператор IN
возвращает TRUE
, если значение соответствует любому значению в списке.
value IN (value1, value2, ...)
В следующем примере используется условие WHERE
с оператором IN
для поиска сотрудников, которые находятся в офисе с офисными кодами 1, 2 или 3.
SELECT firstName, lastName, officeKod FROM sotrudniki WHERE officeKod IN (1, 2, 3);
Пример №7: Использование условия WHERE с оператором IS NULL
Чтобы проверить, является ли значение 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 для фильтрации строк результатов по нужным критериям.
Последние посты
Как выбрать идеальный ноутбук: Полный гайд
Выбор ноутбука может быть сложной задачей в мире, где рынок переполнен вариантами на любой вкус… Читать далее
Томас Эдисон
Наша самая большая слабость заключается в том, что мы быстро сдаемся. Самый верный способ добиться… Читать далее
Самые красивые и впечатляющие мосты со всего мира (ТОП-10)
Мост — это нечто большее, чем просто сооружение, соединяющее два берега. Для того, чтобы появился… Читать далее
Соломон
Жизнь нас учит, что свою пару мы познаем, когда разводимся, своих братьев мы познаем, когда… Читать далее
Чак Паланик
Кто может — тот делает. Кто не может — тот критикует Чак Паланик Читать далее
Ричард Бах
Ни одно желание не дается тебе отдельно от силы, позволяющей его осуществить. Хотя, возможно, для… Читать далее