Python'da SQL Sorgularında Mantıksal İşlemler
Seçim koşulunda, OR ve AND
komutlarıyla daha karmaşık kombinasyonlar
yapılabilir. Bunlar, Python'daki if
yapısındaki benzerleri gibi çalışır.
Hadi örneklerle inceleyelim.
Örnek
Maaşı 500 OLAN VE yaşı 23 olan
kullanıcıları seçelim:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Kodun çalıştırılması sonucu:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Örnek
Maaşı 500 OLAN VEYA yaşı 23 olan
kullanıcıları seçelim:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Kodun çalıştırılması sonucu:
{'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}
Örnek
Maaşı 450 ile 900 arasında
olan kullanıcıları seçelim:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Kodun çalıştırılması sonucu:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Örnek
Yaşı 23 ile 27 yaş arasında
(dahil) olan kullanıcıları seçelim:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Kodun çalıştırılması sonucu:
{'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}
Örnek
OR ve AND komutlarının karmaşık
kombinasyonları, koşulların önceliğini
göstermek için parantezler kullanılarak
gruplandırılabilir:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Kodun çalıştırılması sonucu:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Pratik Görevler
25 yaşından (dahil değil)
28 yaşına (dahil) kadar olan
kullanıcıları seçin.
user1 kullanıcısını seçin.
user1 ve user2 kullanıcılarını seçin.
user3 kullanıcısı hariç herkesi seçin.
Yaşı 27 olan VEYA maaşı 1000
olan tüm kullanıcıları seçin.
Yaşı 27 olan VEYA maaşı 400
olmayan tüm kullanıcıları seçin.
Yaşı 23 (dahil) ile 27 (dahil değil)
arasında olan VEYA maaşı 1000 olan
tüm kullanıcıları seçin.
Yaşı 23 ile 27 arasında olan
VEYA maaşı 400 ile 1000
arasında olan tüm kullanıcıları seçin.