SQL DISTINCT

Hiểu về SQL DISTINCT

SQL (Structured Query Language) là một ngôn ngữ được sử dụng để truy xuất và thao tác dữ liệu trong cơ sở dữ liệu quan hệ. Một trong những tính năng quan trọng của SQL là khả năng lấy ra các giá trị duy nhất từ một bảng, điều này có thể được thực hiện thông qua từ khóa DISTINCT.

Định nghĩa SQL DISTINCT

Từ khóa DISTINCT trong SQL được sử dụng để loại bỏ các giá trị trùng lặp trong kết quả truy vấn. Khi bạn muốn chỉ lấy các giá trị độc nhất từ một cột hoặc một tập hợp các cột, DISTINCT sẽ giúp bạn đạt được điều đó.

Cú pháp của SQL DISTINCT

Cú pháp cơ bản của câu lệnh sử dụng SQL DISTINCT như sau:

SELECT DISTINCT column1, column2, ...
FROM table_name
WHERE condition;

Trong đó:

  • column1, column2, ...: Các cột mà bạn muốn lấy giá trị khác nhau.
  • table_name: Tên của bảng mà bạn muốn truy vấn.
  • condition: Điều kiện (nếu có) để lọc dữ liệu.

Ví dụ sử dụng SQL DISTINCT

Dưới đây là một số ví dụ cụ thể về cách sử dụng SQL DISTINCT:

Ví dụ 1: Lấy danh sách các quốc gia duy nhất từ bảng Customers

SELECT DISTINCT Country
FROM Customers;

Câu lệnh trên sẽ trả về danh sách tất cả các quốc gia trong bảng Customers mà không có sự trùng lặp.

Ví dụ 2: Lấy danh sách các sản phẩm duy nhất cùng với tên nhà cung cấp

SELECT DISTINCT ProductName, SupplierID
FROM Products;

Trong ví dụ này, câu lệnh sẽ trả về danh sách các sản phẩm duy nhất cùng với mã nhà cung cấp của chúng, loại bỏ các bản ghi trùng lặp.

Ví dụ 3: Kết hợp DISTINCT với WHERE

SELECT DISTINCT City
FROM Customers
WHERE Country = 'USA';

Câu lệnh này cho phép bạn lấy ra danh sách các thành phố độc nhất trong bảng Customers nhưng chỉ cho những bản ghi có quốc gia là 'USA'.

Kết luận

Từ khóa DISTINCT là một công cụ mạnh mẽ trong SQL giúp bạn tối ưu hóa truy vấn bằng cách loại bỏ sự trùng lặp trong dữ liệu. Việc hiểu và sử dụng DISTINCT đúng cách sẽ giúp bạn khai thác tốt hơn thông tin từ cơ sở dữ liệu của mình. Hy vọng bài viết này đã cung cấp cho bạn cái nhìn tổng thể về SQL DISTINCT và các ví dụ để ứng dụng trong thực tế.