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