Logiese bewerkings in SQL-navraag in Python
In die keurvoorwaarde kan jy meer komplekse
kombinasies maak met behulp van die opdragte OR en
AND. Hulle werk op dieselfde manier as hul
ekwivalente in die Python-konstruksie if.
Kom ons kyk na voorbeelde.
Voorbeeld
Laat ons gebruikers kies met 'n salaris van 500 EN
'n ouderdom van 23 jaar:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Resultaat van die uitgevoerde kode:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Voorbeeld
Laat ons gebruikers kies met 'n salaris van 500 OF
'n ouderdom van 23 jaar:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Resultaat van die uitgevoerde kode:
{'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
Laat ons gebruikers kies met 'n salaris van 450
tot 900:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Resultaat van die uitgevoerde kode:
{'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
Laat ons gebruikers kies met 'n ouderdom van 23
tot 27 jaar ingesluit:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Resultaat van die uitgevoerde kode:
{'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
Komplekse kombinasies van die opdragte OR en
AND kan gegroepeer word met behulp van
ronde hakies om die voorrang van
voorwaardes aan te dui:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Resultaat van die uitgevoerde kode:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Praktiese take
Kies gebruikers in die ouderdom van 25
(nie ingesluit nie) tot 28 jaar
(ingesluit).
Kies gebruiker user1.
Kies gebruikers user1 en user2.
Kies almal, behalwe gebruiker user3.
Kies alle gebruikers op die ouderdom van 27
jaar of met 'n salaris van 1000.
Kies alle gebruikers op die ouderdom van 27
jaar of met 'n salaris nie gelyk aan 400 nie.
Kies alle gebruikers in die ouderdom van 23
jaar (ingesluit) tot 27 jaar (nie
ingesluit nie) of met 'n salaris van 1000.
Kies alle gebruikers in die ouderdom van 23
jaar tot 27 jaar of met 'n salaris van
400 tot 1000.