АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
⊗pyPmDBSVS 113 of 129 menu
Долгожданный Бесплатный курс по выкладке сайта на хостинг. МЫ УЖЕ НАЧАЛИ! Присоединяйтесь к нам!

Выборка записей по конкретным значениям в 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:

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

Результат выполненного кода:

{'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 лет:

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

Результат выполненного кода:

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

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

Достаньте юзеров, у которых зарплата имеет значения 400 и 900.

Достаньте юзеров, возраст которых составляет 25, 27 и 28 лет. При этом id более 2.

enru