Ierakstu atlase pēc konkrētām vērtībām Python
Ja nepieciešams atlasīt ierakstu no kādas
grupas vērtību laukiem, var izmantot
komandu IN. Piemēram, var atlasīt
ierakstus, kuriem lauks name ir
vērtība 'user1', 'user3'
vai 'user4'. Tas izskatīsies
šādi: WHERE id IN ('user1',
'user3', 'user4').
Principā, šādām lietām var izmantot arī
komandu OR,
tad pirmais piemērs izskatīsies šādi:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Variants ar IN tomēr izskatās vienkāršāk
un elegantāk.
Piemērs
Atlasīsim lietotājus, kuriem lauks id
ir vērtības 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Izpildītā koda rezultāts:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Piemērs
Komandu IN var kombinēt ar
citām komandām vaicājumā. Pārrakstīsim
iepriekšējo piemēru, norādot vēl,
ka lietotāju vecumam jābūt vairāk
par 23 gadiem:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Izpildītā koda rezultāts:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Praktiskie uzdevumi
Iegūstiet lietotājus, kuriem alga ir
vērtības 400 un 900.
Iegūstiet lietotājus, kuru vecums ir
25, 27 un 28 gadi. Ar
nosacījumu, ka id ir lielāks par 2.