Логические операции в SQL запросе в PHP
В условии выборки можно делать более сложные
комбинации с помощью команд OR и AND.
Работают они так же, как и их аналоги в PHP
конструкции if. Давайте посмотрим
на примерах.
Пример
Выберем юзеров с зарплатой 500 И возрастом
23 года:
<?php
$query = "SELECT * FROM users WHERE salary=500 AND age=23";
?>
Пример
Выберем юзеров с зарплатой 500 ИЛИ
возрастом 23 года:
<?php
$query = "SELECT * FROM users WHERE salary=500 OR age=23";
?>
Пример
Выберем юзеров с зарплатой от 450
до 900:
<?php
$query = "SELECT * FROM users WHERE salary>450 AND salary<900";
?>
Пример
Выберем юзеров с возрастом от 23 до
27 лет включительно:
<?php
$query = "SELECT * FROM users WHERE age>=23 AND age<=27";
?>
Пример
Сложные комбинации команд OR и AND
можно группировать с помощью круглых скобок,
чтобы показать приоритет условий:
<?php
$query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)";
?>
Практические задачи
Выберите юзеров в возрасте от 25 (не
включительно) до 28 лет (включительно).
Выберите юзера user1.
Выберите юзеров user1 и user2.
Выберите всех, кроме юзера user3.
Выберите всех юзеров в возрасте 27
лет или с зарплатой 1000.
Выберите всех юзеров в возрасте 27
лет или с зарплатой не равной 400.
Выберите всех юзеров в возрасте от 23
лет (включительно) до 27 лет (не включительно)
или с зарплатой 1000.
Выберите всех юзеров в возрасте от 23
лет до 27 лет или с зарплатой от 400
до 1000.