Баргирифтани сабтҳо бо арзишҳои муайян дар Python
Агар барои баровардани сабт аз як гурӯҳи арзишҳои майдонҳо лозим бошад, метавон аз фармони IN истифода кард. Масалан, метавон сабтҳоеро интихоб кард, ки майдони name онҳо арзиши 'user1', 'user3' ё 'user4'-ро дошта бошад. Ин тавр хурд мешавад: WHERE id IN ('user1', 'user3', 'user4').
Дар асос, барои чунин корҳо аз фармони OR низ метавон истифода кард, пас мисоли якум тавр хурд мешавад:
WHERE id=1 OR id=3 OR id=7 OR id=14 OR id=28.
Варианти бо IN бештар сода ва зебо ба назар мерасад.
Мисол
Биёед корбаронеро интихоб кунем, ки майдони id онҳо арзишҳои 1, 3, 5-ро доранд:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Натиҷаи коди иҷрошуда:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Мисол
Фармони IN-ро метавон бо фармонҳои дигар дар дархост омехт кард. Биёед мисоли гузаштаро аз навишта, инчунин муайян кунем, ки синни корбарон бояд аз 23 сол зиёдтар бошад:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Натиҷаи коди иҷрошуда:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Вазифаҳои амалӣ
Корбаронеро ба даст оред, ки маоши онҳо арзишҳои 400 ва 900-ро доранд.
Корбаронеро ба даст оред, ки синни онҳо 25, 27 ва 28 сол аст. Ҳамзамон id аз 2 зиёдтар бошад.