Operasi Logik dalam Pertanyaan SQL di Python
Dalam keadaan pemilihan, anda boleh membuat
kombinasi yang lebih kompleks dengan menggunakan perintah
OR dan
AND. Mereka berfungsi sama seperti
rakan sejawat mereka dalam pembinaan if Python.
Mari kita lihat contohnya.
Contoh
Pilih pengguna dengan gaji 500 DAN
umur 23 tahun:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Keputusan kod yang dilaksanakan:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Contoh
Pilih pengguna dengan gaji 500 ATAU
umur 23 tahun:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Keputusan kod yang dilaksanakan:
{'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}
Contoh
Pilih pengguna dengan gaji dari 450
hingga 900:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Keputusan kod yang dilaksanakan:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Contoh
Pilih pengguna dengan umur dari 23
hingga 27 tahun termasuk:
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Keputusan kod yang dilaksanakan:
{'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}
Contoh
Kombinasi kompleks perintah OR dan
AND boleh dikumpulkan menggunakan
tanda kurung untuk menunjukkan keutamaan
keadaan:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Keputusan kod yang dilaksanakan:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Tugas Praktikal
Pilih pengguna berumur dari 25
(tidak termasuk) hingga 28 tahun
(termasuk).
Pilih pengguna user1.
Pilih pengguna user1 dan user2.
Pilih semua orang kecuali pengguna user3.
Pilih semua pengguna berumur 27
tahun atau bergaji 1000.
Pilih semua pengguna berumur 27
tahun atau bergaji tidak sama dengan 400.
Pilih semua pengguna berumur dari 23
tahun (termasuk) hingga 27 tahun (tidak
termasuk) atau bergaji 1000.
Pilih semua pengguna berumur dari 23
tahun hingga 27 tahun atau bergaji dari
400 hingga 1000.