Toán tử AND và OR trong SQLite
Ở bài học trước mình đã cùng tìm hiểu về toán tử trong SQLite. Trong bài này mình sẽ cùng tìm hiểu 2 toán tử đặc biệt đó là toán tử AND
và toán tử OR
.
Toán tử AND
và toán tử OR
trong SQLite
được sử dụng để kết hợp nhiều điều kiện để thu hẹp phạm vi dữ liệu đã chọn trong câu lệnh SQLite
. Hai toán tử này được gọi là toán tử liên hợp (conjunctive operators).
Hai toán tử này cung cấp một phương tiện để thực hiện nhiều sự so sánh với các toán tử khác nhau trong cùng một câu lệnh SQLite
.
1. Toán tử AND trong SQLite.
Toán tử AND
cho phép tồn tại nhiều điều kiện trong mệnh đề WHERE
của một câu lệnh SQLite
. Trong khi sử dụng toán tử AND
, điều kiện đầy đủ sẽ được giả sử là đúng khi tất cả các điều kiện là đúng. Ví dụ: [condition1] AND [condition2]
sẽ chỉ đúng khi cả hai condition1 và condition2 đều đúng.
Bài viết này được đăng tại [free tuts .net]
1.1 Cú pháp toán tử AND với mệnh đề WHERE
Cú pháp cơ bản của toán tử AND
với mệnh đề WHERE
như sau:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN];
Bạn có thể kết hợp N số điều kiện bằng cách sử dụng toán tử AND
. Đối với một hành động được thực hiện bởi câu lệnh SQLite
, cho dù đó là một giao dịch (transaction) hoặc truy vấn (query), thì tất cả các điều kiện riêng lẻ được phân tách bằng toán tử AND
phải là TRUE
.
1.2. Ví dụ toán tử AND
Giả sử chúng ta có bảng COMPANY
có các bản ghi như sau:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Câu lệnh SELECT
sau đây sẽ liệt kê tất cả các bản ghi trong đó age
lớn hơn hoặc bằng 25 và salary
lớn hơn hoặc bằng 65000,00.
sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0
2. Toán tử OR trong SQLite
Toán tử OR
cũng được sử dụng để kết hợp nhiều điều kiện trong mệnh đề WHERE
của câu lệnh SQLite
. Trong khi sử dụng toán tử OR
, điều kiện hoàn chỉnh sẽ được giả sử là đúng khi có ít nhất một điều kiện bất kỳ nào là đúng. Ví dụ: [condition1] OR [condition2]
sẽ đúng nếu một trong hai điều kiện condition1 hoặc condition2 là đúng.
2.1 Cú pháp toán tử OR
Cú pháp cơ bản của toán tử OR
với mệnh đề WHERE
như sau:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN]
Bạn có thể kết hợp N số điều kiện bằng toán tử OR
. Đối với một hành động được thực hiện bởi câu lệnh SQLite
, cho dù đó là một giao dịch (transaction) hoặc truy vấn (query), chỉ một trong số các điều kiện bất kỳ được phân tách riêng lẻ bằng toán tử OR
phải là TRUE.
2.2 Ví dụ toán tử OR
Giả sử chúng ta có bảng COMPANY
có các bản ghi như sau:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Câu lệnh SELECT
sau đây sẽ liệt kê tất cả các bản ghi trong đó age
lớn hơn hoặc bằng 25 hoặc salary
lớn hơn hoặc bằng 65000,00.
sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0