WHERE - фильтрация данных
Зачастую нужны не все строки из таблицы, а какая-то их часть. Для ограничения количества возвращаемых строк в SQL существует предложение WHERE
. В WHERE
указывается логическое выражение, которое служит фильтром строк: в результате остаются только те строки, для которых это выражение истинно.
SELECT `список_столбцов` (или*) FROM `имя_таблицы` WHERE ограничения_на_список_строк; -- возможно применение операторов
Оператор сравнения WHERE | |
---|---|
|
|
=
|
Тесты для равенства |
!=
|
Тесты для неравенства |
<>
|
Тесты для неравенства |
<
|
Тесты для меньше, чем |
>
|
Тесты для больше, чем |
<=
|
Тесты для меньше чем или равный |
>=
|
Тесты для больше чем или равный |
Логические операторы WHERE | |
|
|
AND
|
Логический оператор И
|
OR
|
Логический оператор ИЛИ - если хотя бы одно из условий истинно, то все выражение истинно
|
NOT
|
Оператор логического отрицания |
Приоритет операций | |
В одном условии при необходимости мы можем объединять несколько логических операций. Однако следует учитывать, что есть
приоритет операций:
В данном случае сначала вычисляется выражение NOT Price > 30000 , то есть цена должна быть меньше или
равна 30000. Затем вычисляется выражение NOT Price > 30000 AND ProductCount > 2 , то есть цена должна
быть меньше или равна 30000 и
одновременно количество товаров должно быть больше 2. В конце вычисляется оператор OR - либо цена
должна быть меньше или равна 30000 и одновременно количество товаров должно
быть больше 2, либо производителем должен быть Samsung.
С помощью скобок можно переопределить приоритет операций:
В данном случае находим товары, у которых либо производитель Samsung, либо одновременно цена товара
меньше или равна 30000 и количество товаров меньше 3.
|