Логические операции в 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.