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

В условието за избор може да се правят по-сложни комбинации с помощта на командите OR и AND. Те работят по същия начин, както и техните аналози в Python конструкцията if. Нека да разгледаме примерите.

Пример

Нека изберем потребители със заплата 500 И възраст 23 години:

pythonquery = "SELECT * FROM users WHERE salary=500 AND age=23"

Резултат от изпълнения код:

python{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}

Пример

Нека изберем потребители със заплата 500 ИЛИ възраст 23 години:

pythonquery = "SELECT * FROM users WHERE salary=500 OR age=23"

Резултат от изпълнения код:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Пример

Нека изберем потребители със заплата от 450 до 900:

pythonquery = "SELECT * FROM users WHERE salary>450 AND salary<900"

Резултат от изпълнения код:

python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Пример

Нека изберем потребители с възраст от 23 до 27 години включително:

pythonquery = "SELECT * FROM users WHERE age>=23 AND age<=27"

Резултат от изпълнения код:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Пример

Сложни комбинации от команди OR и AND могат да се групират с помощта на кръгли скоби, за да се покаже приоритетът на условията:

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

Резултат от изпълнения код:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}

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

Задание 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.