Logische bewerkingen in SQL-query's in Python
In de selectievoorwaarde kun je meer complexe
combinaties maken met behulp van de opdrachten OR en
AND. Ze werken hetzelfde als hun
tegenhangers in de Python-constructie if.
Laten we naar voorbeelden kijken.
Voorbeeld
Laten we gebruikers selecteren met een salaris van 500 EN
leeftijd 23 jaar:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Resultaat van de uitgevoerde code:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Voorbeeld
Laten we gebruikers selecteren met een salaris van 500 OF
leeftijd 23 jaar:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Resultaat van de uitgevoerde code:
{'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}
Voorbeeld
Laten we gebruikers selecteren met een salaris van 450
tot 900:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Resultaat van de uitgevoerde code:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Voorbeeld
Laten we gebruikers selecteren met een leeftijd van 23
tot 27 jaar inclusief:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Resultaat van de uitgevoerde code:
{'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}
Voorbeeld
Complexe combinaties van opdrachten OR en
AND kunnen worden gegroepeerd met behulp van
ronde haakjes om de prioriteit van de
voorwaarden aan te geven:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Resultaat van de uitgevoerde code:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Praktische opdrachten
Selecteer gebruikers in de leeftijd van 25
(niet inclusief) tot 28 jaar
(inclusief).
Selecteer gebruiker user1.
Selecteer gebruikers user1 en user2.
Selecteer iedereen behalve gebruiker user3.
Selecteer alle gebruikers op de leeftijd van 27
jaar of met een salaris van 1000.
Selecteer alle gebruikers op de leeftijd van 27
jaar of met een salaris niet gelijk aan 400.
Selecteer alle gebruikers in de leeftijd van 23
jaar (inclusief) tot 27 jaar (niet
inclusief) of met een salaris van 1000.
Selecteer alle gebruikers in de leeftijd van 23
jaar tot 27 jaar of met een salaris van
400 tot 1000.