Selectarea înregistrărilor după valori specifice în Python
Dacă trebuie să selectați o înregistrare dintr-un
grup de valori ale câmpurilor, puteți folosi
comanda IN. De exemplu, puteți selecta
înregistrările al căror câmp name are
valoarea 'user1', 'user3'
sau 'user4'. Aceasta va arăta
astfel: WHERE id IN ('user1',
'user3', 'user4').
În principiu, pentru astfel de lucruri ați putea folosi
și comanda OR,
atunci primul exemplu va arăta astfel:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Varianta cu IN arată totuși mai simplu
și mai elegant.
Exemplu
Să selectăm utilizatorii al căror câmp id
are valorile 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Rezultatul codului executat:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Exemplu
Comanda IN poate fi combinată cu
alte comenzi în interogare. Să
rescriem exemplul anterior, specificând în plus
că vârsta utilizatorilor trebuie să fie mai mare de
23 de ani:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Rezultatul codului executat:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Sarcini practice
Selectați utilizatorii al căror salariu are
valorile 400 și 900.
Selectați utilizatorii a căror vârstă este
25, 27 și 28 de ani. Cu
condiția ca id-ul să fie mai mare decât 2.