Mệnh đề WHERE trong SQL được sử dụng để chỉ định một điều kiện trong khi lấy dữ liệu từ một bảng hoặc bằng cách join với nhiều bảng. Nếu điều kiện thỏa mãn, thì nó trả về một giá trị cụ thể từ bảng. Bạn nên sử dụng mệnh đề WHERE để lọc các bản ghi và chỉ lấy các bản ghi cần thiết.
Mệnh đề WHERE không chỉ được sử dụng trong câu lệnh SELECT, mà nó còn được sử dụng trong câu lệnh UPDATE, DELETE, vv, mà sẽ được đề cập đến trong các bài tiếp theo.
Cú pháp
Cú pháp cơ bản của câu lệnh SELECT với mệnh đề WHERE như dưới đây.
SELECT column1, column2, columnN FROM table_name WHERE [condition]
Ví dụ
Giả sử bảng CUSTOMERS có các bản ghi như sau:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Ha Noi | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+
Đoạn mã sau đây là một ví dụ để lấy các ID, NAME và SALARY từ bảng CUSTOMERS, nơi SALARY lớn hơn 2000:
SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE SALARY > 2000;
Điều này sẽ tạo ra kết quả sau:
+----+----------+----------+ | ID | NAME | SALARY | +----+----------+----------+ | 4 | Thu Minh | 6500.00 | | 5 | Hai An | 8500.00 | | 6 | Hoang | 4500.00 | | 7 | Binh | 10000.00 | +----+----------+----------+
Truy vấn sau đây là một ví dụ, có thể tìm nạp các trường ID, NAME và SALARY từ bảng CUSTOMERS cho khách hàng có tên Hai An.
Ở đây, điều quan trọng cần lưu ý là tất cả các chuỗi nên được đặt trong dấu nháy đơn (''). Trong khi, các giá trị số thì không cần như trong ví dụ trên.
SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE NAME = 'Hai An';
Điều này sẽ tạo ra kết quả sau:
+----+----------+----------+ | ID | NAME | SALARY | +----+----------+----------+ | 5 | Hai An | 8500.00 | +----+----------+----------+