Aniq qiymatlar bo‘yicha yozuvlarni tanlash Pythonda
Agar maydonlarning ma’lum bir guruh qiymatlari bo‘yicha yozuvni tanlash kerak bo‘lsa,
IN buyrug‘idan foydalanish mumkin.
Masalan, name maydoni 'user1',
'user3' yoki 'user4' qiymatiga
ega bo‘lgan yozuvlarni tanlash mumkin.
Bu quyidagicha ko‘rinadi: WHERE id IN ('user1',
'user3', 'user4').
Aslida, bunday holatlar uchun
OR
buyrug‘idan ham foydalanish mumkin,
unda birinchi misol quyidagicha ko‘rinadi:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
IN bilan variant baribir soddaroq
va chiroyliroq ko‘rinadi.
Misol
id maydoni 1, 3, 5
qiymatlariga ega bo‘lgan foydalanuvchilarni tanlaymiz:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Bajarilgan kod natijasi:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Misol
IN buyrug‘ini so‘rovda boshqa buyruqlar
bilan birlashtirish mumkin. Keling, oldingi
misolni qayta yozamiz, shu bilan birga foydalanuvchilarning
yoshi 23 dan katta bo‘lishi kerakligini ko‘rsatamiz:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Bajarilgan kod natijasi:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Amaliy vazifalar
Maoshi 400 va 900 bo‘lgan foydalanuvchilarni oling.
Yoshi 25, 27 va 28 da
bo‘lgan foydalanuvchilarni oling.
Bunda id 2 dan katta bo‘lsin.