Pythonda SQL so'rovlarida mantiqiy amallar

Tanlov shartida OR va AND buyruqlari yordamida murakkabroq kombinatsiyalar qilish mumkin. Ular if Pythondagi o'xshashlariga o'xshash ishlaydi. Keling, misollar orqali ko'rib chiqaylik.

Misol

Maoshi 500 VA yoshi 23 bo'lgan foydalanuvchilarni tanlaymiz:

pythonquery = "SELECT * FROM users WHERE salary=500 AND age=23"

Bajarilgan kod natijasi:

python{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}

Misol

Maoshi 500 YOKI yoshi 23 bo'lgan foydalanuvchilarni tanlaymiz:

pythonquery = "SELECT * FROM users WHERE salary=500 OR age=23"

Bajarilgan kod natijasi:

python{'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}

Misol

Maoshi 450 dan 900 gacha bo'lgan foydalanuvchilarni tanlaymiz:

pythonquery = "SELECT * FROM users WHERE salary>450 AND salary<900"

Bajarilgan kod natijasi:

python{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Misol

Yoshi 23 dan 27 yoshgacha (o'z ichiga olgan holda) bo'lgan foydalanuvchilarni tanlaymiz:

pythonquery = "SELECT * FROM users WHERE age>=23 AND age<=27"

Bajarilgan kod natijasi:

python{'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}

Misol

OR va AND buyruqlarining murakkab kombinatsiyalarini shartlarning ustuvorligini ko'rsatish uchun yumaloq qavslar yordamida guruhlash mumkin:

pythonquery = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"

Bajarilgan kod natijasi:

python{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}

Amaliy vazifalar

Задание 1

25 yoshdan (o'z ichiga olmagan holda) 28 yoshgacha (o'z ichiga olgan holda) bo'lgan foydalanuvchilarni tanlang.

Задание 2

user1 foydalanuvchisini tanlang.

Задание 3

user1 va user2 foydalanuvchilarini tanlang.

Задание 4

user3 foydalanuvchisidan tashqari hammasini tanlang.

Задание 5

Yoshi 27 yoki maoshi 1000 bo'lgan barcha foydalanuvchilarni tanlang.

Задание 6

Yoshi 27 yoki maoshi 400 ga teng bo'lmagan barcha foydalanuvchilarni tanlang.

Задание 7

Yoshi 23 yoshdan (o'z ichiga olgan holda) 27 yoshgacha (o'z ichiga olmagan holda) yoki maoshi 1000 bo'lgan barcha foydalanuvchilarni tanlang.

Задание 8

Yoshi 23 yoshdan 27 yoshgacha yoki maoshi 400 dan 1000 gacha bo'lgan barcha foydalanuvchilarni tanlang.