SQL сўровларида мантиқий амаллар Python да
Танлов шартида 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 гача бўлган барча фойдаланувчиларни танланг.