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

SQL khác biệt

Khi bạn đang làm việc với cơ sở dữ liệu, có thể có lúc bạn muốn nhận tất cả các giá trị duy nhất trong một tập dữ liệu cụ thể. Ví dụ:bạn có thể muốn lấy danh sách tên các sản phẩm bạn đã bán trước đây hoặc bạn có thể muốn lấy danh sách tất cả các thể loại phim khác nhau tồn tại trong cơ sở dữ liệu phim.

SQL có một chức năng tích hợp có thể giúp bạn truy xuất thông tin này:DISTINCT . DISTINCT toán tử cho phép bạn loại bỏ các bản ghi trùng lặp để bạn có thể truy xuất tất cả các tổ hợp giá trị duy nhất trong một tập dữ liệu.

Trong hướng dẫn này, chúng tôi sẽ phân tích những điều cơ bản về DISTINCT trong SQL và khi nào bạn có thể sử dụng toán tử này.

Trình làm mới truy vấn SQL

Để lấy thông tin từ cơ sở dữ liệu, bạn phải viết một truy vấn. SQL các truy vấn hầu như luôn bắt đầu bằng SELECT và chúng chỉ định thông tin bạn muốn lấy từ cơ sở dữ liệu. Đây là cú pháp cơ bản cho SQL truy vấn:

SELECT column_name FROM table_name WHERE your_query_conditions;

Hãy sử dụng một ví dụ để minh họa các truy vấn đang hoạt động. Truy vấn sau sẽ trả về tên và chức danh của tất cả nhân viên làm việc cho doanh nghiệp của chúng tôi:

SELECT name, title FROM employees;

Mã của chúng tôi trả về:

name tiêu đề
Luke Nhân viên bán hàng
Mike Nhân viên bán hàng
Hannah Nhân viên bán hàng
Geoff Nhân viên kinh doanh cấp cao
Alexis Nhân viên bán hàng
Jonah Phó Giám đốc Kinh doanh
Emma Giám đốc Tiếp thị

Nếu bạn muốn truy xuất nhiều cột, bạn có thể làm như vậy bằng cách tách tên cột bằng dấu phẩy như chúng tôi đã làm ở trên. Hoặc nếu bạn muốn lấy thông tin từ mọi cột, bạn có thể sử dụng dấu hoa thị (* ), đại diện cho tất cả các cột trong bảng.

Khi viết truy vấn, chúng ta có thể sử dụng WHERE để lọc các bản ghi đáp ứng một tập hợp các điều kiện cụ thể. Ví dụ:nếu chúng tôi muốn có được tất cả các cộng tác viên bán hàng làm việc cho doanh nghiệp của mình, chúng tôi có thể sử dụng truy vấn sau:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

SELECT name, title FROM employees
WHERE title = 'Sales Associate':

Truy vấn của chúng tôi trả về như sau:

name tiêu đề
Luke Nhân viên bán hàng
Mike Nhân viên bán hàng
Hannah Nhân viên bán hàng
Alexis Nhân viên bán hàng

(4 hàng)

Bây giờ chúng ta đã biết những điều cơ bản về truy vấn, chúng ta có thể khám phá cách sử dụng DISTINCT trong SQL .

Phân biệt SQL

Khi bạn thu thập dữ liệu từ cơ sở dữ liệu, kết quả có thể chứa các hàng hoặc giá trị trùng lặp. Giả sử chúng tôi muốn có danh sách tất cả các chức danh mà nhân viên của chúng tôi nắm giữ. Nếu chúng tôi sử dụng SELECT tiêu chuẩn truy vấn, chúng tôi sẽ nhận được các giá trị trùng lặp. Đây là một ví dụ:

SELECT title FROM employees;

Truy vấn của chúng tôi trả về kết quả sau:

title
Nhân viên bán hàng
Cộng tác viên bán hàng
Cộng tác viên bán hàng
Cộng tác viên bán hàng cấp cao
Cộng tác viên bán hàng
Phó giám đốc kinh doanh
Giám đốc Tiếp thị

(7 hàng)

Như bạn có thể thấy, tiêu đề Sales Associate xuất hiện bốn lần, bởi vì có bốn nhân viên giữ chức danh đó. Nhưng điều gì sẽ xảy ra nếu chúng ta chỉ muốn biết những chức danh có trong cơ sở dữ liệu thay vì bao nhiêu người có chức danh đó?

Đó là nơi SQL DISTINCT được đưa vào. Bằng cách sử dụng SQL DISTINCT , chúng tôi có thể xóa tất cả dữ liệu trùng lặp khỏi một truy vấn.

DISTINCT từ khóa được sử dụng cùng với SELECT nhà điều hành. Dưới đây là một ví dụ về việc chạy cùng một truy vấn từ trên, nhưng với DISTINCT nhà điều hành hiện tại:

SELECT DISTINCT title FROM employees;

Truy vấn của chúng tôi trả về như sau:

title
Phó Giám đốc Kinh doanh
Cộng tác viên bán hàng
Cộng tác viên bán hàng cấp cao
Giám đốc Tiếp thị

(4 hàng)

Truy vấn của chúng tôi trả về danh sách tất cả các chức danh mà nhân viên nắm giữ. Tuy nhiên, nó không lặp lại bất kỳ chức danh nào do nhiều hơn một nhân viên nắm giữ. Chúng tôi không có giá trị trùng lặp nào trong đầu ra của mình.

DISTINCT toán tử đặc biệt hữu ích khi bạn đang làm việc với các tập dữ liệu lớn. Trong ví dụ của chúng tôi ở trên, chúng tôi chỉ có bảy nhân viên, nhưng nếu chúng tôi có năm trăm nhân viên, sẽ rất khó để chúng tôi biết mọi người nắm giữ những chức danh nào nếu không sử dụng DISTINCT nhà điều hành.

Kết luận

Bây giờ bạn biết cách sử dụng DISTINCT toán tử trên SQL máy chủ.

Như chúng ta đã thảo luận, SQL SELECT DISTINCT cho phép bạn tìm nạp dữ liệu từ một bảng và xóa bất kỳ hàng hoặc giá trị trùng lặp nào khỏi kết quả. Ví dụ:nếu bạn muốn có danh sách tất cả các chi nhánh của công ty, bạn có thể sử dụng DISTINCT để tạo ra một danh sách. DISTINCT đặc biệt hữu ích khi bạn đang làm việc với các tập dữ liệu lớn hơn, nơi các tập dữ liệu trùng lặp có thể gây mất tập trung.