Python-да SQL сұраныстарындағы логикалық операциялар
Таңдау шарттарында OR және
AND командаларының көмегімен күрделірек
комбинациялар жасауға болады. Олар Python-дағы
if құрылымындағы аналогтары сияқты жұмыс істейді.
Мысалдар арқылы қарастырайық.
Мысал
Жалақысы 500 ЖӘНЕ
жасы 23 болатын пайдаланушыларды таңдайық:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Орындалған кодтың нәтижесі:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Мысал
Жалақысы 500 НЕМЕСЕ
жасы 23 болатын пайдаланушыларды таңдайық:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Орындалған кодтың нәтижесі:
{'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}
Мысал
Жалақысы 450-ден
900-ге дейін болатын пайдаланушыларды таңдайық:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Орындалған кодтың нәтижесі:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Мысал
Жасы 23-тен
27-ке дейін (қосқанда) болатын пайдаланушыларды таңдайық:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Орындалған кодтың нәтижесі:
{'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}
Мысал
OR және
AND командаларының күрделі комбинацияларын
шарттардың басымдығын көрсету үшін дөңгелек жақшалар арқылы
топтауға болады:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Орындалған кодтың нәтижесі:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Практикалық тапсырмалар
Жасы 25-тен (қоспағанда)
28-ке дейін (қосқанда) болатын пайдаланушыларды таңдаңыз.
user1 пайдаланушысын таңдаңыз.
user1 және user2 пайдаланушыларын таңдаңыз.
user3 пайдаланушысынан басқа барлығын таңдаңыз.
Жасы 27 немесе жалақысы
1000 болатын барлық пайдаланушыларды таңдаңыз.
Жасы 27 немесе жалақысы
400-ге тең емес барлық пайдаланушыларды таңдаңыз.
Жасы 23-тен (қосқанда)
27-ке дейін (қоспағанда) немесе жалақысы
1000 болатын барлық пайдаланушыларды таңдаңыз.
Жасы 23-тен
27-ке дейін немесе жалақысы
400-ден 1000-ге дейін болатын барлық пайдаланушыларды таңдаңыз.