Полный цикл в digital

WHERE - фильтрация данных

Зачастую нужны не все строки из таблицы, а какая-то их часть. Для ограничения количества возвращаемых строк в SQL существует предложение WHERE. В WHERE указывается логическое выражение, которое служит фильтром строк: в результате остаются только те строки, для которых это выражение истинно.

SELECT `список_столбцов` (или*) FROM `имя_таблицы`  WHERE ограничения_на_список_строк; -- возможно применение операторов
Оператор сравнения WHERE
SELECT * FROM `users` WHERE `name`='user'; -- выведит все столбцы где поле name соответствует значению user
= Тесты для равенства
!= Тесты для неравенства
<> Тесты для неравенства
< Тесты для меньше, чем
> Тесты для больше, чем
<= Тесты для меньше чем или равный
>= Тесты для больше чем или равный
Логические операторы WHERE
SELECT * FROM `users` WHERE `salary`=500 AND `age`=23;
SELECT * FROM `users` WHERE `salary`=500 NOT `age`=23;
SELECT * FROM `users` WHERE (`age`<20 AND `age`>27) OR (`salary`>300 AND `salary`<500);
AND Логический оператор И
OR Логический оператор ИЛИ - если хотя бы одно из условий истинно, то все выражение истинно
NOT Оператор логического отрицания
Приоритет операций
В одном условии при необходимости мы можем объединять несколько логических операций. Однако следует учитывать, что есть приоритет операций:
  1. NOT
  2. AND
  3. OR
SELECT * FROM `Products` WHERE `Manufacturer`='Samsung' OR NOT `Price`>30000 AND `ProductCount`>2;
В данном случае сначала вычисляется выражение NOT Price > 30000, то есть цена должна быть меньше или равна 30000. Затем вычисляется выражение NOT Price > 30000 AND ProductCount > 2, то есть цена должна быть меньше или равна 30000 и одновременно количество товаров должно быть больше 2. В конце вычисляется оператор OR - либо цена должна быть меньше или равна 30000 и одновременно количество товаров должно быть больше 2, либо производителем должен быть Samsung.
С помощью скобок можно переопределить приоритет операций:
SELECT * FROM `Products` WHERE `Manufacturer`='Samsung' OR NOT (`Price`>30000 AND `ProductCount`>2);
В данном случае находим товары, у которых либо производитель Samsung, либо одновременно цена товара меньше или равна 30000 и количество товаров меньше 3.
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг