Mệnh đề WHERE trong SQL

Mệnh đề WHERE trong SQL được sử dụng để chỉ định điều kiện khi lấy dữ liệu từ một bảng hoặc nối nhiều bảng với nhau. Nếu điều kiện được thỏa mãn thì nó chỉ trả về những giá trị cụ thể trong bảng.

Mệnh đề WHERE cũng được sử dụng để lọc các bản ghi và chỉ lấy những bản ghi phù hợp với yêu cầu hoặc thực sự cần thiết.

WHERE không đi một mình mà thường được sử dụng kết hợp với lệnh SELECT, lệnh UPDATE, lệnh DELETE và rất nhiều lệnh khác. Bạn sẽ được nhìn thấy ví dụ về sự kết hợp này trong những bài tiếp theo.

Cú pháp mệnh đề WHERE:

Như đã nói ở trên, mệnh đề WHERE được dùng với các lệnh liên quan đến việc xử lý dữ liệu, vì vậy ta sẽ xem xét mệnh đề này trong lệnh SELECT, một sự kết hợp thường xuyên được nhìn thấy nhất trong SQL.

SELECT cot1, cot2, cotN 
FROM TEN_BANG
WHERE [DIEU_KIEN]

Bạn có thể chỉ định điều kiện bằng cách sử dụng các toán tử logic hoặc so sánh như >, <, LIKE, NOT,… Hãy xem ví dụ dưới đây để hiểu rõ hơn cú pháp trên.

Ví dụ về mệnh đề WHERE:

Ta tiếp tục sử dụng lại bảng NHANVIEN đã dùng trong các ví dụ trước:

+----+----------+-----+-----------+---------+ | 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| 
+----+----------+-----+-----------+---------+

Ví dụ 1:

Giờ ta sẽ dùng WHERE kết hợp với SELECT để lọc ra những nhân viên có lương cao hơn 4500:

SQL> SELECT ID, TEN, LUONG FROM NHANVIEN WHERE LUONG > 4500;

Không có lỗi nào xảy ra thì kết quả trả về sẽ là:

+----+----------+-----+-----------+---------+ | ID | TEN | TUOI| DIACHI  |  LUONG | 
+----+----------+-----+-----------+---------+ 
| 4 | Mạnh  |  29 | Hue | 6500.00 | 
| 5 | Huy |  28 | Hatinh  | 8500.00 | 
| 7 | Lam | 29 | Hanoi | 15000.00| 
+----+----------+-----+-----------+---------+

Ví dụ 2:

Bây giờ ta sẽ chỉ lấy ID, TEN, LUONG từ bảng NHANVIEN cho nhân viên có tên là Mạnh. Có một lưu ý cho bạn trong phần này là tất cả các chuỗi cần được đặt trong cặp dấu ‘ ‘, nhưng giá trị là số thì lại không cần cho vào dấu nháy đơn, giống như ví dụ 1.

SQL> SELECT ID, TEN, LUONG FROM NHANVIEN WHERE TEN = 'Mạnh';

Kết quả trả về sẽ là:

+----+----------+-----+-----------+---------+ | ID | TEN | TUOI| DIACHI  |  LUONG | 
+----+----------+-----+-----------+---------+ 
| 4 | Mạnh  |  29 | Hue | 6500.00 | 
+----+----------+-----+-----------+---------+

Vậy là bạn đã nắm được cách sử dụng mệnh đề WHERE và cách kết hợp SELECT với WHERE để chỉ lấy những dữ liệu phù hợp với điều kiện nhất định.

Trong bài tới, bạn sẽ biết về toán tử kết hợp AND và OR.