Выбарка запісаў пры 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.