Боркунии сабтҳо дар дархости SQL ба пойгоҳи додаҳо дар Python
Дар коди санҷишии дархости SQL фармони
SELECT мавҷуд аст, ки додаҳоро аз
пойгоҳи додаҳо интихоб мекунад. Биёед акнун
ба тафсилот бо синтаксиси он шинос шавем.
Ин синтаксис:
query = "SELECT * FROM таблица WHERE условие"
Пас аз номи ҷадвал, метавон фармони
WHERE-ро илова кард, ки дар он
шарт барои сабтҳои интихобшаванда муайян
мешавад. Дар он амалҳои муқоисаи зерин
иҷозат дода шудаанд: =,
!=, <>, <, >,
<=, >=.
Биёед татбиқи онҳоро бо мисолҳо дида бароем.
Мисол
Корбареро бо id, баробари 2 интихоб мекунем:
query = "SELECT * FROM users WHERE id=2"
Натиҷаи коди иҷрошуда:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
Мисол
Корбаронро бо id, калонтар аз 2 интихоб мекунем:
query = "SELECT * FROM users WHERE id>2"
Натиҷаи коди иҷрошуда:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Мисол
Корбаронро бо id, калонтар ё
баробари 2 интихоб мекунем:
query = "SELECT * FROM users WHERE id>=2"
Натиҷаи коди иҷрошуда:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Мисол
Корбаронро бо id, нобаробари
2 интихоб мекунем:
query = "SELECT * FROM users WHERE id!=2"
Натиҷаи коди иҷрошуда:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Мисол
Ба ҷои фармони != метавон фармони
<>-ро навишт:
query = "SELECT * FROM users WHERE id<>2"
Мисол
Корбареро бо номи 'user1' интихоб мекунем.
Дар инҷо нуқтаи муҳими он аст: азбаски
ном сатр аст, он бояд дар қоша қарор гирад:
query = "SELECT * FROM users WHERE name='user1'"
Натиҷаи коди иҷрошуда:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Мисол
Агар фармони WHERE вуҷуд надошта бошад,
ҳамаи сабтҳо аз ҷадвал интихоб мешаванд. Биёед
ҳамаи кормандонро интихоб кунем:
query = "SELECT * FROM users"
Натиҷаи коди иҷрошуда:
{'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': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
Масъалаҳои амалӣ
Корбареро бо id, баробари 3 интихоб кунед.
Корбаронро бо музди 900 интихоб кунед.
Корбаронро бо синни 23-сола интихоб кунед.
Корбаронро бо музди зиёда аз 400 интихоб кунед.
Корбаронро бо музди баробари ё
зиёда аз 500 интихоб кунед.
Корбаронро бо музди НОбаробари
500 интихоб кунед.
Корбаронро бо музди баробари ё
камтар аз 500 интихоб кунед.