Các phép toán logic trong truy vấn SQL bằng Python
Trong điều kiện lựa chọn, bạn có thể tạo các
tổ hợp phức tạp hơn bằng cách sử dụng các lệnh
OR và
AND. Chúng hoạt động giống như
các lệnh tương tự trong cấu trúc if của Python.
Hãy xem qua các ví dụ.
Ví dụ
Hãy chọn những người dùng có mức lương 500 VÀ
độ tuổi 23:
query = "SELECT * FROM users WHERE salary=500 AND age=23"
Kết quả của mã đã thực thi:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
Ví dụ
Hãy chọn những người dùng có mức lương 500 HOẶC
độ tuổi 23:
query = "SELECT * FROM users WHERE salary=500 OR age=23"
Kết quả của mã đã thực thi:
{'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}
Ví dụ
Hãy chọn những người dùng có mức lương từ 450
đến 900:
query = "SELECT * FROM users WHERE salary>450 AND salary<900"
Kết quả của mã đã thực thi:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Ví dụ
Hãy chọn những người dùng có độ tuổi từ 23
đến 27 tuổi (bao gồm cả hai đầu):
query = "SELECT * FROM users WHERE age>=23 AND age<=27"
Kết quả của mã đã thực thi:
{'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}
Ví dụ
Các tổ hợp phức tạp của các lệnh OR và
AND có thể được nhóm lại bằng cách sử dụng
dấu ngoặc đơn để chỉ ra thứ tự ưu tiên
của các điều kiện:
query = "SELECT * FROM users WHERE (age<20 AND age>27) OR (salary>300 AND salary<500)"
Kết quả của mã đã thực thi:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
Bài tập thực hành
Chọn những người dùng có độ tuổi từ 25
(không bao gồm) đến 28 tuổi
(bao gồm).
Chọn người dùng user1.
Chọn những người dùng user1 và user2.
Chọn tất cả, ngoại trừ người dùng user3.
Chọn tất cả người dùng ở độ tuổi 27
tuổi hoặc có mức lương 1000.
Chọn tất cả người dùng ở độ tuổi 27
tuổi hoặc có mức lương không bằng 400.
Chọn tất cả người dùng có độ tuổi từ 23
tuổi (bao gồm) đến 27 tuổi (không
bao gồm) hoặc có mức lương 1000.
Chọn tất cả người dùng có độ tuổi từ 23
tuổi đến 27 tuổi hoặc có mức lương từ
400 đến 1000.