Условный оператор WHERE
Ситуация, когда требуется сделать выборку по определённому условию, встречается очень часто. Для этого в операторе SELECT существует оператор WHERE, после которого следуют условия для ограничения строк. Если запись удовлетворяет этому условию, то попадает в результат, иначе отбрасывается.
Общая структура запроса с оператором WHERE
SELECT [DISTINCT] поля_таблиц FROM наименование_таблицы WHERE условия_на_ограничения_строк [логический_оператор другое_условия_на_ограничения_строк];
Например, запрос с использованием оператора WHERE может выглядеть следующим образом:
SELECT * FROM Student WHERE first_name = "Grigorij" AND YEAR(birthday) > 2000;
В нем используются:
- 2 оператора сравнения
first_name = "Grigorij" и YEAR(birthday) > 2000; - 1 логический оператор AND
Как результат, в выборке мы получаем данные студентов, которые имеют имя «Grigorij» и в тоже время чей год рождения больше 2000.
Операторы сравнения
Операторы сравнения служат для сравнения 2 выражений, результатом которого может являться:
- true (что эквивалентно 1)
- false (что эквивалентно 0)
- NULL
Результат сравнения с NULL является NULL. Исключением является оператор эквивалентности.
Логические операторы
Логические операторы необходимы для связывания операторов сравнения.
Давайте для примера выведем все полёты, которые были совершены на самолёте «Boeing», но, при этом, вылет был не из Лондона:
SELECT * FROM Trip WHERE plane = 'Boeing' AND NOT town_from = 'London';