SQL - Từ khóa DISTINCT: Khám phá Sức mạnh của Dữ liệu Độc đáo
Chào mừng các bạn yêu thích SQL! Hôm nay, chúng ta sẽ bắt đầu một hành trình đầy thú vị vào thế giới của SQL, đặc biệt là tập trung vào từ khóa DISTINCT. Là giáo viên máy tính gần gũi của bạn, tôi sẽ hướng dẫn bạn qua khái niệm này với những giải thích rõ ràng, nhiều ví dụ và một chút hài hước. Hãy thắt dây an toàn và cùng lặn xuống!
Từ khóa SQL DISTINCT: Cổng vào Độc đáo
Hãy tưởng tượng bạn đang ở một buổi tiệc và bạn muốn biết có bao nhiêu loại đồ uống khác nhau. Bạn sẽ không đếm từng lon Coke riêng lẻ, phải không? Đó chính xác là điều mà từ khóa DISTINCT làm trong SQL - nó giúp chúng ta xác định các giá trị độc đáo trong một bộ dữ liệu.
Từ khóa DISTINCT được sử dụng trong các câu lệnh SELECT để loại bỏ các giá trị trùng lặp khỏi tập kết quả. Nó giống như một bộ lọc kỳ diệu chỉ hiển thị cho bạn một trong mỗi mục, bất kể nó xuất hiện bao nhiêu lần trong dữ liệu của bạn.
Hãy bắt đầu với một ví dụ đơn giản:
SELECT DISTINCT column_name
FROM table_name;
Câu truy vấn này sẽ trả về chỉ các giá trị độc đáo từ cột được chỉ định trong bảng. Thật tuyệt vời phải không?
Từ khóa DISTINCT trên một Cột: Độc nhất vô nhị
Giả sử chúng ta có một bảng叫做 employees
với một cột department
. Để xem tất cả các phòng ban độc đáo mà không có bất kỳ lặp lại nào, chúng ta sẽ sử dụng:
SELECT DISTINCT department
FROM employees;
Câu truy vấn này có thể trả về etwas như sau:
department
----------
Sales
Marketing
IT
HR
Finance
Dù có 100 nhân viên trong phòng ban Sales, nó sẽ chỉ xuất hiện một lần trong kết quả của chúng ta. Đó là như hỏi, "Chúng ta có những phòng ban nào khác nhau?" thay vì "Bao nhiêu người làm việc trong mỗi phòng ban?"
Từ khóa DISTINCT trên nhiều Cột: Combinations Độc đáo
Bây giờ, hãy nâng cấp một chút! DISTINCT có thể phát huy phép màu của mình trên nhiều cột. Khi bạn sử dụng DISTINCT với nhiều cột, nó tìm kiếm các组合 giá trị độc đáo跨越 những cột.
Hãy xem xét câu truy vấn này:
SELECT DISTINCT department, job_title
FROM employees;
Điều này có thể cho chúng ta:
department | job_title
-----------+-----------
Sales | Manager
Sales | Associate
Marketing | Coordinator
Marketing | Director
IT | Developer
IT | Analyst
Ở đây, chúng ta đang thấy các 组合 giá trị độc đáo của phòng ban và chức danh công việc. Nếu chúng ta có nhiều Sales Managers, họ sẽ chỉ xuất hiện một lần trong danh sách này.
Từ khóa DISTINCT với hàm COUNT(): Đếm Độc đáo
Đây là nơi mọi thứ trở nên thực sự thú vị! Chúng ta có thể kết hợp DISTINCT với hàm COUNT() để đếm các giá trị độc đáo. Đó như thể hỏi, "Chúng ta có bao nhiêu loại kem khác nhau?" thay vì "Tổng cộng có bao nhiêu muỗng kem?"
Hãy nhìn thấy nó trong hành động:
SELECT COUNT(DISTINCT department) AS unique_departments
FROM employees;
Câu truy vấn này sẽ trả về số lượng phòng ban độc đáo trong công ty của chúng ta. Nếu chúng ta có nhân viên trong Sales, Marketing, IT, HR và Finance, kết quả sẽ là:
unique_departments
------------------
5
Từ khóa DISTINCT với Giá trị NULL: Trường hợp Kỳ lạ của Không có gì
Bây giờ, hãy nói về điều thường làm rối loạn những người mới học SQL: cách DISTINCT xử lý các giá trị NULL. Trong SQL, NULL đại diện cho sự vắng mặt của một giá trị, và DISTINCT coi NULL là một giá trị độc đáo.
Xem xét ví dụ này:
SELECT DISTINCT manager_id
FROM employees;
Nếu một số nhân viên không có quản lý (their manager_id
is NULL), kết quả có thể trông như sau:
manager_id
----------
1
2
3
NULL
NULL xuất hiện chỉ một lần, giống như bất kỳ giá trị độc đáo nào khác.
Phương pháp DISTINCT: Bộ Công cụ Độc đáo của Bạn
Hãy tóm tắt các cách khác nhau chúng ta có thể sử dụng DISTINCT trong một bảng tiện lợi:
Phương pháp | Cú pháp | Mô tả |
---|---|---|
Single Column | SELECT DISTINCT column FROM table; |
Trả về các giá trị độc đáo từ một cột |
Multiple Columns | SELECT DISTINCT column1, column2 FROM table; |
Trả về các 组合 giá trị độc đáo từ nhiều cột |
With COUNT() | SELECT COUNT(DISTINCT column) FROM table; |
Đếm số lượng giá trị độc đáo trong một cột |
With NULL values | SELECT DISTINCT column FROM table; |
Xử lý NULL như một giá trị độc đáo |
Nhớ rằng DISTINCT là bạn của bạn khi bạn muốn tập trung vào sự đa dạng trong dữ liệu của bạn thay vì khối lượng của nó. Nó như thể có một siêu năng lực giúp bạn nhìn thấy qua rác rưởi và tập trung vào điều làm cho mỗi piece của dữ liệu độc đáo.
Khi chúng ta kết thúc bài học này, tôi hy vọng bạn cảm thấy tự tin hơn khi sử dụng từ khóa DISTINCT trong các truy vấn SQL của bạn. Nó là một công cụ đơn giản nhưng mạnh mẽ có thể giúp bạn có được những thông tin quý giá từ dữ liệu của bạn.
Lần sau khi bạn làm việc với một cơ sở dữ liệu, hãy nghĩ đến DISTINCT như người dọn rác cá nhân của bạn. Nó ở đó để giúp bạn loại bỏ tiếng ồn và tập trung vào những gì thực sự quan trọng trong dữ liệu của bạn.
Tiếp tục thực hành, giữ vững sự tò mò và nhớ: trong thế giới của SQL, việc khác biệt luôn thời trang!
Credits: Image by storyset