Логические операции в SQL запросе в NodeJS

В условии выборки можно делать более сложные комбинации с помощью команд OR и AND. Работают они так же, как и их аналоги в конструкции if. Давайте посмотрим на примерах.

Пример

Выберем юзеров с зарплатой 500 И возрастом 23 года:

javascriptlet query = "SELECT * FROM users WHERE salary=500 AND age=23";

Пример

Выберем юзеров с зарплатой 500 ИЛИ возрастом 23 года:

javascriptlet query = "SELECT * FROM users WHERE salary=500 OR age=23";

Пример

Выберем юзеров с зарплатой от 450 до 900:

javascriptlet query = "SELECT * FROM users WHERE salary>450 AND salary<900";

Пример

Выберем юзеров с возрастом от 23 до 27 лет включительно:

javascriptlet query = "SELECT * FROM users WHERE age>=23 AND age<=27";

Пример

Сложные комбинации команд OR и AND можно группировать с помощью круглых скобок, чтобы показать приоритет условий:

javascriptlet query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)";

Практические задачи

Задание 1

Выберите юзеров в возрасте от 25 (не включительно) до 28 лет (включительно).

Задание 2

Выберите юзера user1.

Задание 3

Выберите юзеров user1 и user2.

Задание 4

Выберите всех, кроме юзера user3.

Задание 5

Выберите всех юзеров в возрасте 27 лет или с зарплатой 1000.

Задание 6

Выберите всех юзеров в возрасте 27 лет или с зарплатой не равной 400.

Задание 7

Выберите всех юзеров в возрасте от 23 лет (включительно) до 27 лет (не включительно) или с зарплатой 1000.

Задание 8

Выберите всех юзеров в возрасте от 23 лет до 27 лет или с зарплатой от 400 до 1000.