Selectarea înregistrărilor prin interogare SQL către baza de date în Python

În codul de test al interogării SQL există comanda SELECT, care efectuează selectarea datelor din baza de date. Să analizăm mai detaliat acum sintaxa acesteia. Iată-o:

pythonquery = "SELECT * FROM tabela WHERE condiție"

După numele tabelei se mai poate adăuga comanda WHERE, în care se specifică condiția pentru înregistrările selectate. În aceasta sunt permise următoarele operații de comparație: =, !=, <>, <, >, <=, >=.

Să le analizăm aplicarea cu exemple.

Exemplu

Să selectăm utilizatorul cu id egal cu 2:

pythonquery = "SELECT * FROM users WHERE id=2"

Rezultatul codului executat:

python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}

Exemplu

Să selectăm utilizatorii cu id mai mare decât 2:

pythonquery = "SELECT * FROM users WHERE id>2"

Rezultatul codului executat:

python{'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}

Exemplu

Să selectăm utilizatorii cu id mai mare sau egal cu 2:

pythonquery = "SELECT * FROM users WHERE id>=2"

Rezultatul codului executat:

python{'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}

Exemplu

Să selectăm utilizatorii cu id, nu egal cu 2:

pythonquery = "SELECT * FROM users WHERE id!=2"

Rezultatul codului executat:

python{'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}

Exemplu

În loc de comanda != se poate scrie comanda <>:

pythonquery = "SELECT * FROM users WHERE id<>2"

Exemplu

Să selectăm utilizatorul cu numele 'user1'. Aici ne așteaptă o nuanță importantă: deoarece numele este un șir de caractere, acesta trebuie să fie pus între ghilimele:

pythonquery = "SELECT * FROM users WHERE name='user1'"

Rezultatul codului executat:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}

Exemplu

Dacă comanda WHERE lipsește, atunci vor fi selectate toate înregistrările din tabel. Să selectăm toți angajații:

pythonquery = "SELECT * FROM users"

Rezultatul codului executat:

python{'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}

Sarcini practice

Задание 1

Selectați utilizatorul cu id egal cu 3.

Задание 2

Selectați utilizatorii cu salariul 900.

Задание 3

Selectați utilizatorii cu vârsta de 23 de ani.

Задание 4

Selectați utilizatorii cu salariul mai mare de 400.

Задание 5

Selectați utilizatorii cu salariul egal sau mai mare de 500.

Задание 6

Selectați utilizatorii cu salariul NU egal cu 500.

Задание 7

Selectați utilizatorii cu salariul egal sau mai mic de 500.