Toán tử AND và OR được sử dụng để kết hợp nhiều điều kiện nhằm thu hẹp dữ liệu trong câu lệnh SQL. Hai toán tử này được gọi là toán tử liên hợp trong SQL. AND và OR cho phép tạo nhiều so sánh với các toán tử khác trong cùng một lệnh SQL.
Trong bài SQL này, chúng ta sẽ đi tìm hiểu toán từ AND và toán tử OR, cách sử dụng và ví dụ cụ thể về chúng.
Toán tử AND trong SQL
AND cho phép sử dụng nhiều điều kiện trong mệnh đề WHERE của câu lệnh SQL. Như ở bài trước bạn đã thấy, chúng ta chỉ có thể sử dụng một điều kiện trong WHERE, khi kết hợp với SELECT. Nhưng nếu có AND bạn có thể thêm vào các điều kiện khác để đảm bảo lấy được dữ liệu chuẩn xác hơn. Dữ liệu lấy ra phải thỏa mãn cùng lúc tất cả các điều kiện có trong mệnh đề WHERE.
Cú pháp của AND trong WHERE:
SELECT cot1, cot2, cotN
FROM TEN_BANG
WHERE [DIEU_KIEN1] AND [DIEU_KIEN2]...AND [DIEU_KIENN];
Ví dụ về AND:
Trong ví dụ này ta sẽ lấy ID, TEN và LUONG từ bảng NHANVIEN, lọc những nhân viên có lương cao hơn 2000 và tuổi ít hơn 29.
Đây là bảng NHANVIEN:
+----+----------+-----+-----------+---------+
| ID | TEN | TUOI| DIACHI | LUONG |
+----+----------+-----+-----------+---------+
| 1 | Thanh | 24 | Haiphong | 2000.00 |
| 2 | Loan | 26 | Hanoi | 1500.00 |
| 3 | Nga | 24 | Hanam | 2000.00 |
| 4 | Mạnh | 29 | Hue | 6500.00 |
| 5 | Huy | 28 | Hatinh | 8500.00 |
| 6 | Cao | 23 | HCM | 4500.00 |
| 7 | Lam | 29 | Hanoi | 15000.00|
+----+----------+-----+-----------+---------+
Câu lệnh sẽ như sau:
SQL> SELECT ID, TEN, LUONG
FROM NHANVIEN
WHERE LUONG > 2000 AND TUOI < 29;
Kết quả trả về sẽ như thế này:
+----+----------+-----+-----------+---------+
| ID | TEN | TUOI| DIACHI | LUONG |
+----+----------+-----+-----------+---------+
| 5 | Huy | 28 | Hatinh | 8500.00 |
| 6 | Cao | 23 | HCM | 4500.00 |
+----+----------+-----+-----------+---------+
Toán tử OR trong SQL
Toán tử OR được sử dụng để kết hợp nhiều điều kiện trong mệnh đề WHERE của lệnh SQL. Khi sử dụng OR trong WHERE kết hợp với SELECT thì dữ liệu lấy ra chỉ cần thỏa mãn một trong các điều kiện được liệt kê. Bạn có nhận thấy sự khác biệt giữa OR và AND không?
Cú pháp của OR:
SELECT cot1, cot2, cotN
FROM TEN_BANG
WHERE [DIEU_KIEN1] OR [DIEU_KIEN2]...OR [DIEU_KIENN]
Bạn có thể kết hợp N điều kiện nhờ sử dụng OR, và chỉ cần một trong số N điều kiện này đúng thì dữ liệu sẽ được lấy ra.
Ví dụ về OR:
Ta sẽ lấy ID, TEN và LUONG từ bảng NHANVIEN dưới đây, với điều kiện là LUONG lớn hơn 6500 và tuổi ít hơn 24.
+----+----------+-----+-----------+---------+
| ID | TEN | TUOI| DIACHI | LUONG |
+----+----------+-----+-----------+---------+
| 1 | Thanh | 24 | Haiphong | 2000.00 |
| 2 | Loan | 26 | Hanoi | 1500.00 |
| 3 | Nga | 24 | Hanam | 2000.00 |
| 4 | Mạnh | 29 | Hue | 6500.00 |
| 5 | Huy | 28 | Hatinh | 8500.00 |
| 6 | Cao | 23 | HCM | 4500.00 |
| 7 | Lam | 29 | Hanoi | 15000.00|
+----+----------+-----+-----------+---------+
Câu lệnh sẽ là:
SQL> SELECT ID, TEN, LUONG
FROM NHANVIEN
WHERE LUONG > 6500 OR age < 24;
Khi thực hiện lệnh trên, bất ký bản ghi nào thỏa mãn điều kiện lương cao hơn 6500 hoặc tuổi nhỏ hơn 24 đều sẽ được trả về trong bảng kết quả, giống như dưới đây:
+----+----------+-----+-----------+---------+
| ID | TEN | TUOI| DIACHI | LUONG |
+----+----------+-----+-----------+---------+
| 5 | Huy | 28 | Hatinh | 8500.00 |
| 6 | Cao | 23 | HCM | 4500.00 |
| 7 | Lam | 29 | Hanoi | 15000.00|
+----+----------+-----+-----------+---------+
Đến đây, bạn đã tự tin để sử dụng toán tử AND và OR trong mệnh đề WHERE chưa? Cũng khá đơn giản thôi phải không nào?
Trong bài tới, chúng ta sẽ tìm hiểu về một lệnh rất quan trọng trong SQL, đó là lệnh UPDATE.
0 comments:
Post a Comment