Амалиётҳои мантиқӣ дар SQL дархост дар Python
Дар шарти интихоб кардан метавон мураккабтар
комбинатсияҳо бо ёрии фармонҳои OR ва
AND сохт. Онҳо ҳамон тавр кор мекунанд, ки ҳамон
аналогҳои онҳо дар сохтори if дар Python.
Биёед ба мисолҳо назар кунем.
Мисол
Истифодабарандагонро бо даромади 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 интихоб кунед.