Computer >> Máy Tính >  >> Lập trình >> SQL Server

Mệnh đề DISTINCT trong SQL Server

Trong SQL Server (Transact-SQL), mệnh đề DISTINCT được sử dụng để loại bỏ các bản sao trong tập kết quả. Mệnh đề DISTINCT chỉ có thể được sử dụng trong câu lệnh SELECT.

Cú pháp mệnh đề DISTINCT

 SELECT DISTRINCT 'biểu thức' 
FROM 'bảng'
[WHERE 'điều kiện'];

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

'biểu thức'

Cột hoặc giá trị được tính toán bạn muốn truy xuất

'bảng'

Bảng dùng để lấy các bản ghi. Phải có ít nhất 1 bảng trong mệnh đề FROM.

WHERE 'điều kiện'

Tùy chọn. Các điều kiện mà bản ghi phải đáp ứng để được chọn.

Lưu ý

  1. Khi mệnh đề DISTINCT chỉ có một biểu thức, truy vấn trả về các 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 sẽ trả về kế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 sử dụng mệnh đề này trong lệnh, kết quả trả về sẽ có một giá trị NULL duy nhất.

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

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

 SELECT DISTINCT ho 
FROM nhanvien
WHERE nhanvien_id >= 50;

Ví dụ này sẽ trả về tất cả các giá trị họ của nhân viên từ bảng có số bảng 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ề sẽ là sự kết hợp của họ và tên trong bảng khi giá trị lớn hơn hoặc bằng 50. Kết quả được sắp xếp tăng dần lệnh của nhân viên.

Trong trường hợp này, DISTINCT áp dụng cho từng trường thông tin đằng sau từ khóa DISTINCT, vì vậy nó sẽ tạo ra các kết hợp tên khác nhau - chúng khác nhau.