Auswahl von Datensätzen nach bestimmten Werten in Python
Wenn man einen Datensatz aus einer Gruppe von Feldwerten auswählen muss, kann man den
Befehl IN verwenden. Zum Beispiel kann man
Datensätze auswählen, bei denen das Feld name den
Wert 'user1', 'user3'
oder 'user4' hat. Das würde so aussehen:
WHERE id IN ('user1',
'user3', 'user4').
Prinzipiell könnte man für solche Dinge auch den
Befehl OR verwenden,
dann würde das erste Beispiel so aussehen:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Die Variante mit IN sieht jedoch einfacher
und eleganter aus.
Beispiel
Wählen wir Benutzer aus, bei denen das Feld id
die Werte 1, 3, 5 hat:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Ergebnis des ausgeführten Codes:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Beispiel
Der Befehl IN kann mit anderen Befehlen in der Abfrage kombiniert werden. Lasst uns
das vorherige Beispiel umschreiben und zusätzlich angeben,
dass das Alter der Benutzer über
23 Jahren liegen muss:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Ergebnis des ausgeführten Codes:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktische Aufgaben
Holen Sie Benutzer, deren Gehalt die Werte
400 und 900 hat.
Holen Sie Benutzer, deren Alter
25, 27 und 28 Jahre beträgt. Dabei
soll die id größer als 2 sein.