Выборка записей при SQL запросе к базе в Python
В тестовом коде SQL запроса есть команда
SELECT
, выполняющая выборку данных
из БД. Давайте теперь подробнее разберемся
с ее синтаксисом. Вот он:
query = "SELECT * FROM таблица WHERE условие"
После имени таблицы можно еще дописать
команду WHERE
, в которой задается
условие на выбираемые записи. В нем допустимы
следующие операции сравнения: =
,
!=
, <>
, <
, >
,
<=
, >=
.
Давайте рассмотрим их применение на примерах.
Пример
Выберем юзера с id
, равным 2
:
query = "SELECT * FROM users WHERE id=2"
Результат выполненного кода:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Пример
Выберем юзеров с id
, большим 2
:
query = "SELECT * FROM users WHERE id>2"
Результат выполненного кода:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Пример
Выберем юзеров с id
, большим или
равным 2
:
query = "SELECT * FROM users WHERE id>=2"
Результат выполненного кода:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Пример
Выберем юзеров с id
, не равным
2
:
query = "SELECT * FROM users WHERE id!=2"
Результат выполненного кода:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Пример
Вместо команды !=
можно писать
команду <>
:
query = "SELECT * FROM users WHERE id<>2"
Пример
Выберем юзера с именем 'user1'
.
Здесь нас поджидает важный нюанс: так как
имя является строкой, то его необходимо
взять в кавычки:
query = "SELECT * FROM users WHERE name='user1'"
Результат выполненного кода:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Пример
Если команда WHERE
отсутствует, то
выберутся все записи из таблицы. Давайте
выберем всех работников:
query = "SELECT * FROM users"
Результат выполненного кода:
{'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': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Практические задачи
Выберите юзера с id
, равным 3
.
Выберите юзеров с зарплатой 900
.
Выберите юзеров в возрасте 23
года.
Выберите юзеров с зарплатой более 400
.
Выберите юзеров с зарплатой равной или
большей 500
.
Выберите юзеров с зарплатой НЕ равной
500
.
Выберите юзеров с зарплатой равной или
меньшей 500
.