Trong SQL, Toán tử AND và OR được sử dụng để lọc các dữ liệu dựa trên các điều kiện cụ thể. Toán tử And và OR được sử dụng với mệnh đề WHERE và chúng được gọi là toán tử liên hợp.
Toán tử AND: Các bản ghi thỏa mãn cả 2 điều kiện condition1 và condition2 trong toán tử AND.
Toán tử OR: Các bản ghi có thể thỏa mãn 1 trong 2 điều kiện condition1 và condition2 trong toán tử OR.
Ví dụ cho dữ liệu của bảng Student có dạng sau
Toán tử AND
Cú pháp
SELECT * FROM table_name WHERE condition1 AND condition2 and ...conditionN; table_name: Tên của table condition1,2,..N : cột thứ nhất, thứ 2, thứ n
Ví dụ để tìm nạp tất cả các bản ghi từ bảng Student trong đó Tuổi là 18 và ĐỊA CHỈ là Delhi
SELECT * FROM Student WHERE Age = 18 AND ADDRESS = 'Delhi';
Output:
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | Ram | Delhi | XXXXXXXXXX | 18 |
4 | SURESH | Delhi | XXXXXXXXXX | 18 |
Ví dụ tìm nạp tất cả các bản ghi từ bảng Student trong đó NAME là Ram và Tuổi là 18.
SELECT * FROM Student WHERE Age = 18 AND ADDRESS = 'Delhi';
Output:
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | Ram | Delhi | XXXXXXXXXX | 18 |
4 | SURESH | Delhi | XXXXXXXXXX | 18 |
Toán tử OR
Cú pháp
SELECT * FROM table_name WHERE condition1 OR condition2 OR...conditionN; table_name: Tên của table condition1,2,..N : cột thứ nhất, thứ 2, thứ n
Ví dụ tìm nạp tất cả các bản ghi từ bảng Student trong đó NAME là Ram hoặc NAME là SUJIT
SELECT * FROM Student WHERE NAME = 'Ram' OR NAME = 'SUJIT';
Output:
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | Ram | Delhi | XXXXXXXXXX | 18 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
Ví dụ tìm nạp tất cả các bản ghi từ bảng Student trong đó NAME là Ram hoặc Tuổi là 20
SELECT * FROM Student WHERE NAME = 'Ram' OR Age = 20;
Output
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | Ram | Delhi | XXXXXXXXXX | 18 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
3 | SUJIT | ROHTAK | XXXXXXXXXX | 20 |
Kết hợp AND và OR
Bạn có thể kết hợp các toán tử AND và OR theo cách dưới đây để viết các truy vấn phức tạp
SELECT * FROM table_name WHERE condition1 AND (condition2 OR condition3);
Ví dụ tìm nạp tất cả các bản ghi từ bảng Student trong đó Tuổi là 18 TÊN là Ram hoặc RAMESH.
SELECT * FROM Student WHERE Age = 18 AND (NAME = 'Ram' OR NAME = 'RAMESH');
Output:
ROLL_NO | NAME | ADDRESS | PHONE | Age |
1 | Ram | Delhi | XXXXXXXXXX | 18 |
2 | RAMESH | GURGAON | XXXXXXXXXX | 18 |