Toán tử Logical OR trong TinyDB
Toán tử Logical OR trong TinyDB giúp kết hợp nhiều điều kiện và sẽ trả về kết quả True nếu một trong các điều kiện được thỏa mãn. TinyDB sử dụng Logical OR trên hai truy vấn của cơ sở dữ liệu, nếu một trong hai truy vấn đúng, TinyDB sẽ truy xuất dữ liệu tương ứng. Ngược lại, nếu cả hai truy vấn đều sai, TinyDB sẽ trả về giá trị rỗng.
Cú pháp của toán tử Logical OR trong TinyDB
db.search((Query().field1) | (Query().field2))
Ở đây:
- field1 và field2 là các trường dữ liệu mà bạn muốn truy vấn.
- Query() là đối tượng được tạo từ bảng JSON (ở đây là bảng
student
).
Nếu bất kỳ điều kiện nào trong hai điều kiện được thỏa mãn, dữ liệu sẽ được truy xuất, ngược lại sẽ trả về kết quả rỗng.
Hãy cùng xem qua một vài ví dụ để hiểu rõ cách hoạt động của Logical OR. Chúng ta sẽ sử dụng bảng cơ sở dữ liệu sinh viên đã dùng trong các chương trước.
Ví dụ 1
Trong ví dụ này, chúng ta sẽ áp dụng Logical OR lên các trường "st_name" và "subject" với các điều kiện sau: "st_name = lakhan" và "subject = TinyDB".
Bài viết này được đăng tại [free tuts .net]
from tinydb import TinyDB, Query db = TinyDB('student.json') db.search((Query().st_name == 'lakhan') | (Query().subject == 'TinyDB'))
Kết quả truy vấn sẽ trả về các dòng sau:
[ { "roll_number":1, "st_name":"elen", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":4, "st_name":"lakhan", "mark":200, "subject":"MySQL", "address":"mumbai" }, { "roll_number":5, "st_name":"karan", "mark":275, "subject":"TinyDB", "address":"benglore" } ]
Ví dụ 2
Trong ví dụ tiếp theo, chúng ta sẽ áp dụng Logical OR lên các trường "subject" và "roll_number":
from tinydb import TinyDB, Query db = TinyDB('student.json') db.search((Query().subject.search('M')) | (Query().roll_number < 5))
Truy vấn này sẽ trả về tất cả các dòng mà trường "subject" bắt đầu bằng chữ cái "M" hoặc "roll_number" nhỏ hơn 5:
[ { "roll_number":1, "st_name":"elen", "mark":250, "subject":"TinyDB", "address":"delhi" }, { "roll_number":2, "st_name":"Ram", "mark":[250, 280], "subject":["TinyDB", "MySQL"], "address":"delhi" }, { "roll_number":3, "st_name":"kevin", "mark":[180, 200], "subject":["oracle", "sql"], "address":"keral" }, { "roll_number":4, "st_name":"lakhan", "mark":200, "subject":"MySQL", "address":"mumbai" } ]
Kết bài
Toán tử Logical OR trong TinyDB là một công cụ hiệu quả để kết hợp nhiều điều kiện trong quá trình truy vấn dữ liệu. Nó giúp tìm kiếm các giá trị thỏa mãn ít nhất một điều kiện, từ đó cung cấp khả năng linh hoạt trong việc truy xuất thông tin từ cơ sở dữ liệu. Sử dụng toán tử này đúng cách sẽ giúp việc xử lý dữ liệu dễ dàng và nhanh chóng hơn trong các ứng dụng thực tiễn.