Выборка записей при 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
.