Truy xuất bản ghi theo giá trị cụ thể trong Python
Nếu cần chọn bản ghi từ một
nhóm giá trị nào đó của trường,
có thể áp dụng lệnh IN. Ví dụ, có thể chọn
các bản ghi có trường name mang
giá trị 'user1', 'user3'
hoặc 'user4'. Nó sẽ trông
như thế này: WHERE id IN ('user1',
'user3', 'user4').
Về nguyên tắc, cho những việc như vậy cũng có thể dùng
lệnh OR,
khi đó ví dụ đầu tiên sẽ trông như thế này:
WHERE id=1 OR id=3 OR
id=7 OR id=14 OR id=28.
Variant với IN vẫn trông đơn giản hơn
và thanh lịch hơn.
Ví dụ
Hãy chọn người dùng có trường id
mang các giá trị 1, 3, 5:
query = "SELECT * FROM users WHERE id IN (1, 3, 5)"
Kết quả của mã đã thực thi:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Ví dụ
Lệnh IN có thể kết hợp với
các lệnh khác trong truy vấn. Hãy
viết lại ví dụ trước, chỉ định thêm rằng
độ tuổi của người dùng phải lớn hơn
23 tuổi:
query = "SELECT * FROM users WHERE id IN (1, 3, 5) AND age>23"
Kết quả của mã đã thực thi:
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
Bài tập thực hành
Hãy lấy ra người dùng có mức lương
là 400 và 900.
Hãy lấy ra người dùng có độ tuổi là
25, 27 và 28 tuổi. Đồng
thời id lớn hơn 2.