Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> SQL Server

Mệnh đề DISTINCT trong SQL Server

Trong SQL Server (Transact-SQL), mệnh đề DISTINCT dùng để loại bỏ bản ghi trùng lặp trong tập kết quả. Mệnh đề DISTINCT chỉ dùng được trong câu lệnh SELECT.

Cú pháp mệnh đề DISTINCT

SELECT DISTINCT bieu_thuc
FROM bang
[WHERE dieu_kien];

Tham số

bieu_thuc: Cột hoặc giá trị tính toán muốn truy xuất.

bang: Bảng dùng để truy xuất bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.

WHERE dieu_kien: Tùy chọn. Điều kiện bản ghi phải thỏa mãn để được chọn.

Lưu ý

  1. Khi mệnh đề DISTINCT chỉ có 1 biểu thức, truy vấn trả về giá trị duy nhất cho biểu thức đó.
  2. Khi mệnh đề DISTINCT có nhiều hơn 1 biểu thức, truy vấn trả về tổ hợp duy nhất của các biểu thức.

Trong SQL Server, mệnh đề DISTINCT không bỏ qua giá trị NULL. Vì vậy khi dùng mệnh đề này, kết quả trả về sẽ có giá trị NULL duy nhất (nếu có).

Ví dụ – 1 biểu thức

Ví dụ đơn giản nhất với mệnh đề DISTINCT trong SQL Server chỉ có 1 biểu thức.

SELECT DISTINCT ho
FROM nhanvien
WHERE nhanvien_id >= 50;

Ví dụ này trả về tất cả giá trị họ nhân viên duy nhất từ bảng với số thứ tự lớn hơn hoặc bằng 50.

Ví dụ – nhiều biểu thức

SELECT DISTINCT ten, ho
FROM nhanvien
WHERE nhanvien_id >= 50
ORDER BY ho;

Trong ví dụ này, kết quả trả về tổ hợp duy nhất của tên và họ từ bảng khi giá trị lớn hơn hoặc bằng 50. Kết quả sắp xếp tăng dần theo họ.

Trong trường hợp này, DISTINCT áp dụng cho từng trường thông tin sau từ khóa DISTINCT, nên nó tạo ra các tổ hợp tên - họ khác nhau.