Ознакомление с оператором 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 для фильтрации строк результатов по нужным критериям.
This post was last modified on 09/11/2019 18:27
Последние посты
Генри Форд
Человек имеет два мотива поведения — один настоящий и второй, который красиво звучит Генри Форд…
Фридрих Ницше
Не нужно додумывать слишком много. Так вы создаете проблемы, которых изначально не было Фридрих Ницше…
Такой разный инвертор! Выбираем между кондиционерами Inverter, Inverter DC и Full DC
Лето в разгаре, а значит самое время задуматься о покупке кондиционера. Но как не потеряться…
Омар Хайям
Настоящий друг — это человек, который в глаза тебе выскажет все, что о тебе думает,…
Полезные советы по выбору раздвижной двери
Следует знать, что функциональность и дизайн работают рука об руку, когда вы используете раздвижную дверь.…