Logische Operationen in SQL-Abfragen in Python
In der Auswahlbedingung können komplexere
Kombinationen mit den Befehlen OR und
AND erstellt werden. Sie funktionieren genauso
wie ihre Entsprechungen in der Python-Konstruktion if.
Schauen wir uns Beispiele an.
Beispiel
Wählen wir Benutzer mit einem Gehalt von 500 UND
einem Alter von 23 Jahren aus:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Ergebnis des ausgeführten Codes:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Beispiel
Wählen wir Benutzer mit einem Gehalt von 500 ODER
einem Alter von 23 Jahren aus:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Ergebnis des ausgeführten Codes:
{'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': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Beispiel
Wählen wir Benutzer mit einem Gehalt von 450
bis 900 aus:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Ergebnis des ausgeführten Codes:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Beispiel
Wählen wir Benutzer mit einem Alter von 23
bis 27 Jahren (inklusive) aus:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Ergebnis des ausgeführten Codes:
{'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': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Beispiel
Komplexe Kombinationen der Befehle OR und
AND können mit runden Klammern gruppiert werden,
um die Priorität der Bedingungen anzuzeigen:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Ergebnis des ausgeführten Codes:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Praktische Aufgaben
Wählen Sie Benutzer im Alter von über 25
(ausschließlich) bis 28 Jahren
(inklusive) aus.
Wählen Sie den Benutzer user1 aus.
Wählen Sie die Benutzer user1 und user2 aus.
Wählen Sie alle außer dem Benutzer user3 aus.
Wählen Sie alle Benutzer im Alter von 27
Jahren oder mit einem Gehalt von 1000 aus.
Wählen Sie alle Benutzer im Alter von 27
Jahren oder mit einem Gehalt ungleich 400 aus.
Wählen Sie alle Benutzer im Alter von 23
Jahren (inklusive) bis 27 Jahren (ausschließlich)
oder mit einem Gehalt von 1000 aus.
Wählen Sie alle Benutzer im Alter von 23
Jahren bis 27 Jahren oder mit einem Gehalt von
400 bis 1000 aus.