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