22/08/2018, 10:58

Mệnh đề WHERE trong SQL Server

Trong SQL Server (T-SQL), mệnh đề WHERE được dùng để lọc kết quả từ các lệnh SELECT, INSERT, UPDATE hoặc DELETE. Cú pháp mệnh đề WHERE WHERE “điều kiện”; Tên các biến hoặc giá trị biến Điều kiện - Là các điều kiện mà bản ghi phải đáp ứng ...

Trong SQL Server (T-SQL), mệnh đề WHERE được dùng để lọc kết quả từ các lệnh SELECT, INSERT, UPDATE hoặc DELETE.

Cú pháp mệnh đề WHERE

WHERE “điều kiện”;

Tên các biến hoặc giá trị biến

Điều kiện - Là các điều kiện mà bản ghi phải đáp ứng được để được chọn.

Ví dụ - một điều kiện

SELECT *
FROM nhanvien
WHERE ten = ‘Jane’;

Trong mệnh đề WHERE nói trên, chúng ta lọc ra các kết quả từ bảng nhanvien. Lệnh SELECT trả về các hàng từ bảng nhanvien có tên là Jane. Vì dùng * trong lệnh SELECT nên tất cả các trường trong bảng sẽ xuất hiện trong bộ kết quả.

Ví dụ - dùng điều kiện AND

SELECT *
FROM nhanvien
WHERE ho = ‘Anderson’
AND nhanvien_id >= 3000;

Mệnh đề trên đây sử dụng 2 điều kiện bằng từ khóa AND. Lệnh SELECT nói trên sẽ trả về các nhân viên có họ là Anderson và có nhanvien_id lớn hơn hoặc bằng 3000.

Ví dụ - dùng điều kiện OR

SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = ‘Johnson’
OR ten = ‘Danielle’;

Ở ví dụ này, lệnh SELECT sẽ trả về các giá trị: ID của nhân viên, tên và họ từ bảng nhanvien với họ là Johnson hoặc tên là Danielle.

Ví dụ - kết hợp điều kiện AND và OR

SELECT *
From nhanvien
WHERE (bang = “California’ AND ho = ‘Smith’)
OR (nhanvien_id = 82);

Ví dụ nói trên cho kết quả là các nhân viên sống ở bang California và có họ là Smith hoặc có nhanvien_id bằng 82. Dấu ngoặc đơn được dùng để xác định thứ tự thực hiện từng điều kiện (giống như trong toán học).

Ví dụ - kết hợp bảng

SELECT nhanvien.nhanvien_id, danhba.ho
FROM nhanvien
INNER JOIN danhba
ON nhanvien.nhanvien_id = danhba.danhba_id
WHERE nhanvien.tan = ‘Sarah”;

Lệnh SELECT trên đây sẽ trả về các hàng có tên trong bảng nhanvien là Sarah. Bảng nhanvien và danhba được kết nối bằng nhanvien_id ở bảng nhanvien và danhba_ho ở bảng danhba.

Bài trước: Các toán tử so sánh trong SQL Server

Bài tiếp: Mệnh đề ORDER BY trong SQL Server

0