SELECT DISTINCT trong SQL là một câu lệnh rất phổ biến, giúp giảm số lượng bản ghi trả về trong một số trường hợp. Trong bài viết này, chúng ta sẽ tìm hiểu về câu lệnh DISTINCT trong SQL Server và các cách sử dụng hiệu quả.
1/ Mô tả
Câu lệnh SELECT DISTINCT trong SQL được sử dụng để lấy giá trị không trùng lặp trong SQL. Mệnh đề DISTINCT sẽ lấy ra các giá trị riêng biệt, duy nhất, loại bỏ các giá trị trùng lặp trong kết quả trả về.
Một điều các bạn mới tìm hiểu cần lưu ý đó là câu lệnh DISTINCT trong SQL chỉ đi kèm với câu lệnh SELECT.
2/ Cú pháp
Câu lệnh DISTINCT trong SQL có cú pháp đơn giản:
SELECT DISTINCT column 1, column 2, ...
FROM table_name
Lưu ý:
- Khi chỉ có một column được chọn thì kết quả trả về khi dùng mệnh đề SELECT DISTINCT trong SQL là các giá trị duy nhất trong cột đó.
- Trường hợp có từ 2 cột trở lên thì kết quả trả về sẽ là các giá trị duy nhất của các cột được chọn.
- Mệnh đề DISTINCT trong SQL Server không bỏ qua giá trị NULL nên kết quả trả về sẽ bao gồm cả giá trị NULL duy nhất.
3/ Cách sử dụng SELECT DISTINCT trong SQL
Trong phần hướng dẫn cách sử dụng mệnh đề DISTINCT, chúng ta sẽ xem ví dụ cơ bản cũng như các ví dụ nâng cao khi kết hợp với các câu lệnh SQL khác.
SELECT DISTINCT nhiều cột
Bạn có thể lọc giá trị trùng trong một cột hoặc khi chọn nhiều cột. Để hiểu rõ cách sử dụng DISTINCT kết hợp với câu lệnh SELECT trong SQL, chúng ta đã có chuẩn bị bảng ví dụ sau đây.
Bảng tên Customer gồm có 4 cột: Customer Name, Customer City, Customer State, Customer Source.
Nếu sử dụng câu lệnh SELECT bình thường, kết quả sẽ có nhiều giá trị trùng lặp.
SELECT Customer Name, Customer Source
FROM Customer
Để lọc ra các giá trị duy nhất trong từng cột, bạn cần dùng câu lệnh DISTINCT nhiều cột.
SELECT DISTINCT Customer Name, Customer Source
FROM Customer
Các kết quả trả về giờ đây chỉ là giá trị duy nhất của mỗi cột.
DISTINCT khi chọn một cột
SELECT DISTINCT Customer Source
FROM Customer
SELECT DISTINCT ORDER BY
Câu lệnh ORDER BY trong SQL cũng rất phổ biến. Cũng lấy bảng ví dụ trên, ta có cú pháp DISTINCT kết hợp với ORDER BY như sau.
SELECT DISTINCT Customer Name, Customer Source
FROM Customer
ORDER BY Customer Name ASC
Các giá trị trong cột Customer Source đã được sắp xếp theo thứ tự tăng dần. Nếu bạn muốn sắp xếp từ Z - A, chọn DESC (thay thế vào vị trí ASC).
SELECT DISTINCT COUNT
Một cách sử dụng nâng cao hơn là kết hợp với hàm COUNT trong SQL. Nếu cú pháp SELECT DISTINCT Customer Source FROM Customer
trả về kết quả là các Customer Source duy nhất, khi kết hợp với hàm COUNT sẽ hiện ra kết quả là giá trị tổng sau khi đếm được có bao nhiêu Customer Source.
Cú pháp COUNT(DISTINCT trong SQL)
sẽ được chia sẻ ở những bài viết tới trên website Kienit.
SELECT COUNT (DISTINCT Customer Source)
FROM Customer
Việc biết ứng dụng mệnh đề SQL DISTINCT sẽ giúp bạn rất nhiều trong việc tính toán thống kê dữ liệu một cách chính xác vì đã loại bỏ được các giá trị trùng nhau.
Bài viết đã chia sẻ đầy đủ cách sử dụng SELECT DISTINCT trong SQL. Hy vọng các thông tin trong bài này sẽ giúp ích cho các bạn. Hãy theo dõi website Kienit.com để đọc thêm các bài viết SQL mới nhất.