T-SQL - Mệnh đề WHERE

Máy chủ MS SQL WHERE mệnh đề được sử dụng để chỉ định một điều kiện trong khi tìm nạp dữ liệu từ một bảng hoặc kết hợp với nhiều bảng.

Nếu điều kiện đã cho được thỏa mãn, thì chỉ khi đó nó mới trả về một giá trị cụ thể từ bảng. Bạn sẽ phải sử dụng mệnh đề WHERE để lọc các bản ghi và chỉ tìm nạp 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, v.v., mà chúng ta sẽ xem xét trong các chương tiếp theo.

Cú pháp

Sau đây là cú pháp cơ bản của câu lệnh SELECT với mệnh đề WHERE:

SELECT column1, column2, columnN  
FROM table_name 
WHERE [condition]

Bạn có thể chỉ định một điều kiện bằng cách sử dụng các toán tử so sánh hoặc logic như>, <, =, LIKE, NOT, v.v. Ví dụ sau sẽ làm rõ khái niệm này.

Thí dụ

Hãy xem xét bảng KHÁCH HÀNG có các bản ghi sau:

ID  NAME       AGE       ADDRESS            SALARY 
1   Ramesh     32        Ahmedabad          2000.00 
2   Khilan     25        Delhi              1500.00 
3   kaushik    23        Kota               2000.00 
4   Chaitali   25        Mumbai             6500.00 
5   Hardik     27        Bhopal             8500.00 
6   Komal      22        MP                 4500.00 
7   Muffy      24        Indore             10000.00

Lệnh sau là một ví dụ sẽ tìm nạp các trường ID, Tên và Lương từ bảng CUSTOMERS trong đó mức lương lớn hơn 2000.

SELECT ID, NAME, SALARY  
FROM CUSTOMERS 
WHERE SALARY > 2000;

Lệnh trên sẽ tạo ra kết quả sau.

ID  NAME       SALARY 
4   Chaitali   6500.00 
5   Hardik     8500.00 
6   Komal      4500.00 
7   Muffy      10000.00

Lệnh sau là một ví dụ, sẽ tìm nạp các trường ID, Tên và Lương từ bảng CUSTOMERS cho khách hàng có tên 'Hardik'. Điều quan trọng cần lưu ý là tất cả các chuỗi phải được đưa ra bên trong dấu nháy đơn ('') trong khi giá trị số nên được đưa ra mà không có bất kỳ dấu ngoặc kép nào như trong ví dụ trên -

SELECT ID, NAME, SALARY  
FROM CUSTOMERS 
WHERE NAME = 'Hardik';

Lệnh trên sẽ tạo ra kết quả sau.

ID  NAME     SALARY 
5   Hardik   8500.00