Records selecteren op specifieke waarden in Python
Als u records uit een bepaalde
groep van veldwaarden moet selecteren,
kunt u de IN-opdracht gebruiken.
U kunt bijvoorbeeld records selecteren
waarbij het veld name de waarde
'user1', 'user3'
of 'user4' heeft. Het ziet er
als volgt uit: WHERE id IN ('user1',
'user3', 'user4').
In principe kunt u voor dergelijke zaken ook
de opdracht OR gebruiken,
dan ziet het eerste voorbeeld er als volgt uit:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
De variant met IN ziet er echter eenvoudiger
en eleganter uit.
Voorbeeld
Laten we gebruikers selecteren waarvan het veld id
de waarden 1, 3, 5 heeft:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Het resultaat van de uitgevoerde code:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Voorbeeld
De IN-opdracht kan worden gecombineerd met
andere opdrachten in de query. Laten we
het vorige voorbeeld herschrijven en erbij vermelden
dat de leeftijd van de gebruikers meer dan
23 jaar moet zijn:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Het resultaat van de uitgevoerde code:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktische opdrachten
Haal de gebruikers op wiens salaris de
waarden 400 en 900 heeft.
Haal de gebruikers op wiens leeftijd
25, 27 en 28 jaar is. En
waarbij de id meer dan 2 is.