Извличане на записи по конкретни стойности в Python

Ако трябва да изберете запис от някоя група от стойности на полета, можете да приложите командата IN. Например, можете да изберете записи, чието поле name има стойност 'user1', 'user3' или 'user4'. Това ще изглежда така: WHERE id IN ('user1', 'user3', 'user4').

По принцип, за такива неща може да се използва и командата OR, тогава първият пример ще изглежда така: WHERE id=1 OR id=3 OR id=7 OR id=14 OR id=28. Вариантът с IN все пак изглежда по-прост и елегантен.

Пример

Нека изберем потребители, чието поле id има стойности 1, 3, 5:

pythonquery = "SELECT * FROM users WHERE id IN (1, 3, 5)"

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

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

Пример

Командата IN може да се комбинира с други команди в заявката. Нека пренапишем предишния пример, като посочим още, че възрастта на потребителите трябва да е над 23 години:

pythonquery = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"

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

python{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

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

Задание 1

Извлечете потребители, чиято заплата има стойности 400 и 900.

Задание 2

Извлечете потребители, чиято възраст е 25, 27 и 28 години. При това id да е повече от 2.