Hướng dẫn SQL SELECT DISTINCT. Ở đây chúng ta thảo luận về Giới thiệu CHỌN DISTINCT trong SQL và các ví dụ thực tế và các biểu thức truy vấn con khác nhau.

Bạn đang xem : điều gì khác biệt trong sql

SQL CHỌN DISTINCT

Giới thiệu về SQL SELECT DISTINCT

Từ khóa DISTINCT trong SQL chỉ được sử dụng để tìm nạp các bản ghi duy nhất từ ​​một bảng cơ sở dữ liệu. Nó thường được sử dụng cùng với câu lệnh SELECT. Đối với chưa khởi tạo, câu lệnh SELECT được sử dụng để tìm nạp các bản ghi mong muốn từ cơ sở dữ liệu. Từ khóa Distinction loại bỏ tất cả các bản ghi trùng lặp và chỉ tìm nạp những bản ghi duy nhất. Nó có thể được sử dụng thêm với các hàm tổng hợp như AVG, MAX, MIN, SUM, COUNT, v.v.

Từ khóa SELECT DISTINCT rất hữu ích khi một bảng chứa nhiều giá trị trùng lặp và chúng tôi chỉ phải tìm nạp các bản ghi duy nhất, ví dụ: trong các tình huống kinh doanh mà chúng tôi muốn biết các vị trí khác biệt với nơi đặt hàng, có bao nhiêu tập hợp khách hàng mà chúng tôi có, v.v.

Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn

Hadoop, Khoa học Dữ liệu, Thống kê & amp; những người khác

Cú pháp và tham số

Cú pháp cơ bản để viết câu lệnh SELECT DISTINCT trong SQL như sau:

CHỌN DISTINCT column_name1, column_name2, ...
TỪ tên_bảng;

Các tham số được sử dụng trong cú pháp nêu trên như sau:

  • column_name1, column_name2, ..: Đây là các cột hoặc trường mà bạn muốn tìm nạp trong tập kết quả cuối cùng của mình.
  • table_name: Đây là tên của bảng mà từ đó các cột hoặc trường đã nói sẽ được tìm nạp.

Câu lệnh SELECT với Từ khóa DISTINCT hoạt động như thế nào trong SQL?

Từ khóa DISTINCT trong SQL lọc ra các giá trị trùng lặp khỏi kết quả trả về của chúng tôi. Để đơn giản hóa hơn hoạt động của nó, chúng ta có thể xem xét nó theo cách sau:

  • Câu lệnh SELECT DISTINCT trước tiên xây dựng tập hợp kết quả tổng thể của chúng tôi với tất cả các bản ghi, tức là bao gồm các giá trị trùng lặp dựa trên các câu lệnh FROM, JOIN, WHERE, HAVING, v.v.
  • Tiếp theo, nó sắp xếp tập hợp kết quả dựa trên tên_mục hoặc trường mà DISTINCT đã được sử dụng.
  • Sau đó, nó thực hiện khử trùng lặp (tức là xóa mọi giá trị trùng lặp) trên tập kết quả tổng thể đã được chuẩn bị ở bước đầu tiên.

Câu lệnh SELECT DISTINCT có thể được coi là tương đương về mặt ngữ nghĩa với một GROUP BY với tất cả các trường trả về được đề cập trong mệnh đề GROUP BY.

Sau khi thảo luận về cú pháp và cách hoạt động của các câu lệnh SELECT DISTINCT, chúng ta hãy tiếp tục và thử một số ví dụ để hiểu rõ hơn về khái niệm này.

Ví dụ về SQL SELECT DISTINCT

Để minh họa hoạt động của từ khóa DISTINCT trong SQL, điều gì có thể tốt hơn là tạo một bảng cơ sở dữ liệu giả. Hãy để chúng tôi tạo một bảng có tên là “khách hàng”.

Chúng tôi có thể sử dụng đoạn mã được cung cấp bên dưới để thực hiện tác vụ này.

Truy vấn:

TẠO BẢNG public.customers
(
số nguyên customer_id KHÔNG NULL,
ngày sale_date KHÔNG ĐẦY ĐỦ,
sale_amount số KHÔNG ĐẦY ĐỦ,
nhân vật nhân viên bán hàng thay đổi (255),
ký tự store_state thay đổi (255),
ký tự order_id thay đổi (255)
);

Chúng tôi đã tạo bảng thành công. Bây giờ, hãy để chúng tôi chèn một số bản ghi vào đó để làm việc.

Truy vấn:

CHÈN VÀO public.customers (
customer_id, sale_date, sale_amount, nhân viên bán hàng, store_state, order_id)
GIÁ TRỊ (1001, '2020-05-23', 1200, 'Raj K', 'KA', '1001'),
(1001, '2020-05-22', 1200, 'M K', 'NULL', '1002'),
(1002, '2020-05-23', 1200, 'Malika Rakesh', 'MH', '1003'),
(1003, '2020-05-22', 1500, 'Malika Rakesh', 'MH', '1004'),
(1001, '2020-05-23', 1320, 'Dave Peter', 'MH', '1005'),
(1002, '2020-05-21', 1200, 'Molly Samberg', 'NY', '1001'),
(1004, '2020-05-22', 1210, 'M K', 'NULL', '1003');

Đầu ra:

SQL SELECT DISTINCT Ví dụ 1

Chúng tôi đã chèn thành công 7 bản ghi trong bảng. Bảng của khách hàng sau khi thực hiện các thao tác chèn ở trên trông như sau:

Truy vấn:

CHỌN * TỪ khách hàng;

Đầu ra:

SQL SELECT DISTINCT Ví dụ 2

Bây giờ chúng ta hãy thử một số ví dụ bằng cách sử dụng từ khóa DISTINCT kết hợp với câu lệnh SELECT.

Ví dụ # 1

Tìm id khách hàng của tất cả những khách hàng duy nhất đã mua hoặc đặt hàng từ cửa hàng bách hóa.

Truy vấn:

CHỌN DISTINCT customer_id
TỪ khách hàng;

Đầu ra:

SQL SELECT DISTINCT Ví dụ 3

Trong ví dụ này, chúng ta có thể thấy rằng từ khóa riêng biệt chỉ tìm nạp id khách hàng duy nhất.

Ví dụ # 2

Tìm tất cả các ngày duy nhất mà doanh số được thực hiện tại cửa hàng bách hóa.

Truy vấn:

CHỌN DISTINCT sale_date
TỪ khách hàng;

Đầu ra:

SQL SELECT DISTINCT Ví dụ 4

Ví dụ # 3

Tìm tất cả các vị trí cửa hàng riêng biệt nơi đặt cửa hàng bách hóa.

Truy vấn:

CHỌN DISTINCT store_state
TỪ khách hàng
ĐẶT HÀNG THEO ASC store_state;

Đầu ra:

SQL SELECT DISTINCT Ví dụ 5

Giải thích: Điều với giá trị NULL và từ khóa DISTINCT là DISTINCT cho phép giá trị NULL đầu tiên trong tập kết quả cuối cùng và loại bỏ tất cả các giá trị NULL tiếp theo khác. Điều này cũng có thể được quan sát trong ví dụ này. Chúng tôi có hai giá trị NULL trong cột store_state, nhưng DISTINCT chỉ dành chỗ cho một giá trị NULL trong tập kết quả cuối cùng.

Ví dụ # 4

Tìm tất cả các đơn đặt hàng duy nhất được thực hiện vào một ngày cụ thể trong cửa hàng bách hóa.

Truy vấn:

CHỌN DISTINCT sale_date,
nhân viên bán hàng,
order_id,
store_state
TỪ khách hàng
ĐẶT HÀNG THEO ngày bán;

Đầu ra:

SQL SELECT DISTINCT Ví dụ 6

Ví dụ # 5

Tìm tổng doanh thu thu được cho tất cả các đơn đặt hàng duy nhất được thực hiện vào một ngày cụ thể tại một cửa hàng cụ thể của cửa hàng bách hóa.

Truy vấn:

CHỌN DISTINCT sale_date, store_state,
sum (sale_amount) dưới dạng total_sales
TỪ khách hàng
GROUP BY store_state, sale_date
ĐẶT HÀNG THEO ASC sale_date;

Đầu ra:

đơn đặt hàng duy nhất. Ví dụ 7

Ví dụ # 6

Tìm tất cả những khách hàng duy nhất và tổng số tiền họ đã chi tại cửa hàng bách hóa.

Truy vấn:

CHỌN DISTINCT customer_id,
sum (sale_amount) dưới dạng total_sales
TỪ khách hàng
GROUP BY customer_id
ĐẶT HÀNG THEO ASC customer_id;

Đầu ra:

khách hàng duy nhất. Ví dụ 8

Ví dụ # 7

Tìm tất cả những nhân viên bán hàng duy nhất làm việc trong cửa hàng bách hóa.

Truy vấn:

CHỌN DISTINCT nhân viên bán hàng
TỪ khách hàng;

Đầu ra:

nhân viên bán hàng duy nhất. Ví dụ 9

Câu lệnh SQL Select Distinct

  • Nó sẽ không hoạt động trên nhiều cột, chúng tôi có thể sử dụng cùng một cột trên một cột từ bảng mà từ đó chúng tôi đã truy xuất các bản ghi duy nhất.
  • Chúng tôi có thể sử dụng một số câu lệnh riêng biệt được chọn với tổng hợp như min, max, avg, count, v.v. Dưới đây là cú pháp của các câu lệnh riêng biệt được chọn.

Cú pháp –

  Chọn DISTINCT name_of_column1, name_of_column2,…., name_of_columnN  

Từ name_of_table;

  • Chọn DISTINCT name_of_column1, name_of_column2,…., name_of_columnN
  Từ name_of_table, nơi điều kiện;  
  • Chọn DISTINCT tên_của_cột từ thứ tự tên_của_bảng theo tên_của_cột;
  • Dưới đây là cú pháp mô tả như sau.
  • Chọn – Đây là câu lệnh SQL được sử dụng để chọn dữ liệu được chỉ định từ một bảng. Chúng tôi có thể chọn dữ liệu theo điều kiện đã được đưa ra trong truy vấn. Chúng ta có thể sử dụng select với một câu lệnh riêng biệt để truy xuất các bản ghi duy nhất từ ​​bảng.
  • Tên của cột 1 đến tên của cột N – Đây là cột trong bảng đã được sử dụng với các từ khóa riêng biệt để truy xuất dữ liệu từ bảng. Giả sử chúng ta đã sử dụng một câu lệnh riêng biệt với một cột được chỉ định, nó sẽ truy xuất các bản ghi riêng biệt từ bảng.
  • Tên của bảng – Đây là tên của bảng mà từ đó chúng tôi đã truy xuất các bản ghi duy nhất. Chúng ta cần xác định tên bảng trong khi sử dụng các câu lệnh.
  • Điều kiện where – Điều kiện where trong bất kỳ câu lệnh SQL nào sẽ được sử dụng để chọn hoặc truy xuất hàng được chỉ định mà chúng tôi đã xác định trong điều kiện where. Trong đó một điều kiện rất hữu ích để truy xuất một hàng duy nhất của điều kiện cụ thể bằng cách sử dụng một câu lệnh.
  • Sắp xếp theo – Điều kiện này được sử dụng để tìm nạp các bản ghi theo thứ tự đã chỉ định. Điều kiện mặc định của thứ tự là thứ tự tăng dần. Giả sử chúng ta đã đưa ra điều kiện rõ ràng thì nó sẽ truy xuất dữ liệu theo thứ tự được chỉ định mà chúng ta đã đưa vào truy vấn.
  • Tại thời điểm chỉ sử dụng một biểu thức bằng cách sử dụng mệnh đề riêng biệt, truy vấn của chúng tôi sẽ trả về các giá trị duy nhất từ ​​các biểu thức.
  • Giả sử chúng ta đang xác định nhiều hơn một biểu thức, mệnh đề riêng biệt của chúng ta sẽ trả về kết hợp duy nhất của các biểu thức.
  • Chúng tôi không thể bỏ qua các giá trị null bằng cách sử dụng câu lệnh, trong khi truy xuất dữ liệu, kết quả của chúng tôi sẽ chứa giá trị khác biệt là null.
  • Trong ví dụ dưới đây, chúng ta có thể thấy rằng câu lệnh sql select sẽ không bỏ qua các giá trị null từ cột được chỉ định mà chúng ta đang sử dụng các mệnh đề riêng biệt.
  Chọn id riêng biệt, tên từ sql_distinct;  
  • Bằng cách sử dụng sql select các câu lệnh riêng biệt, chúng ta có thể tránh được tình trạng dư thừa dữ liệu. Câu lệnh này sẽ loại bỏ sự xuất hiện của dữ liệu lặp lại.
  • Ví dụ dưới đây cho thấy từ khoá của câu lệnh phân biệt chữ hoa chữ thường. Trong ví dụ đầu tiên, chúng tôi đã sử dụng từ khóa ở dạng chữ hoa trong khi ở ví dụ thứ hai, chúng tôi đã sử dụng từ khóa ở dạng chữ thường trong cả hai lần nó sẽ trả về cùng một kết quả mà không gây ra bất kỳ lỗi nào.
  chọn DISTINCT id, tên từ sql_distinct;
chọn id riêng biệt, tên từ sql_distinct;  
  • Chúng tôi đang sử dụng bảng sql_distinction từ một cơ sở dữ liệu riêng biệt. Chúng tôi đang sử dụng cơ sở dữ liệu Postgres để xem ví dụ về sql select riêng biệt. Dưới đây là dữ liệu mẫu từ bảng sql_distinct.
  Chọn * từ sql_distinct;  
  • Trong ví dụ dưới đây, chúng tôi đã tìm thấy số lượng bản ghi khác nhau từ cột id. Chúng ta có thể thấy rằng số bản ghi duy nhất của bảng id là 4.
  CHỌN ĐẾM (id DISTINCT) TỪ sql_distinct;  
  • Trong ví dụ dưới đây, chúng tôi đã tìm thấy các bản ghi khác biệt từ bảng sql_distinction. Ngoài ra, chúng tôi đang sử dụng mệnh đề order by trên cột id như sau.
  chọn id riêng biệt, tên từ sql_distinc thứ tự theo id;  
  • Ví dụ dưới đây cho thấy việc sử dụng một cột duy nhất với câu lệnh sql select. Trong ví dụ dưới đây, chúng tôi chỉ sử dụng cột id.
  Chọn id riêng biệt từ sql_distinct;  
  • Trong ví dụ dưới đây, chúng tôi đang sử dụng tên hai cột với thứ tự theo mệnh đề với câu lệnh khác biệt sql select. Chúng tôi đang sử dụng cột id và tên như sau.
  Chọn id riêng biệt, tên từ sql_distinc thứ tự theo id, name;  
  • Ví dụ dưới đây hiển thị một câu lệnh với điều kiện where. Chúng tôi đang sử dụng điều kiện where trên cột id và tên bằng cách sử dụng câu lệnh khác biệt select sql. Nó sẽ chỉ trả về các giá trị đơn lẻ từ bảng.
  Chọn id riêng biệt từ sql_distinct trong đó id = 103 và tên = 'PQR' theo thứ tự id;  
  • Ví dụ dưới đây hiển thị với tất cả các cột từ bảng như sau.
  Chọn id riêng biệt, tên từ sql_distinct;  

Kết luận

Từ khóa DISTINCT trong SQL được sử dụng chủ yếu trong phép liên hợp các câu lệnh SELECT để chỉ tìm nạp các bản ghi duy nhất từ ​​bảng được chỉ định bằng cách xóa các giá trị trùng lặp khỏi tập kết quả cuối cùng.

Các bài báo được đề xuất

Đây là hướng dẫn về SQL SELECT DISTINCT. Ở đây chúng ta thảo luận về Giới thiệu CHỌN DISTINCT trong SQL và các ví dụ thực tế và các biểu thức truy vấn con khác nhau. Bạn cũng có thể xem qua các bài viết gợi ý của chúng tôi để tìm hiểu thêm –

0

Chia sẻ

Chia sẻ


Xem thêm những thông tin liên quan đến chủ đề những gì khác biệt trong sql

[SQL] 9 Index

alt

  • Tác giả: Đặng Kim Thi
  • Ngày đăng: 2013-12-04
  • Đánh giá: 4 ⭐ ( 9284 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Giới thiệu chỉ mục
    Kiến trúc chỉ mục.
    Truy vấn dữ liệu đã lưu trữ
    Sự khác nhau giữa các loại chỉ mục
    Làm việc với chỉ mục
    Xem thông tin chỉ mục

Các kiểu dữ liệu trong SQL và những thông tin cần biết

  • Tác giả: bizflycloud.vn
  • Đánh giá: 4 ⭐ ( 2019 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL Server đang dần trở nên ưa chuộng bởi người dùng trong công nghệ hiện nay. Vì vậy hãy cùng Bizfly Cloud tìm hiểu về các kiểu dữ liệu trong SQL qua bài viết này nhé!

T-sql là gì

  • Tác giả: xemlienminh360.net
  • Đánh giá: 3 ⭐ ( 5150 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các ự khác biệt chính giữa QL và TQL là thế QL là ngôn ngữ được ử dụng để lưu trữ và quản lý dữ liệu trong RDBM trong khi TQL là phiên bản mở rộnNộI Dung:Các Sự khác biệt chính giữa SQL và TSQL là thế SQL là ngôn ngữ được sử dụng để lưu trữ và quản lý dữ liệu trong RDBMS trong khi TSQL là phiên bản mở rộng của SQL được thiết kế để thực hiện các hoạt động trên máy chủ MS SQL, Một cơ sở dữ liệu là một tập hợp các dữ liệu liên quan

Tìm hiểu sự khác biệt giữa SQL, PL/SQL và T-SQL

  • Tác giả: stanford.com.vn
  • Đánh giá: 3 ⭐ ( 6215 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Những điểm khác biệt giữa SQL và NoSQL

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 3397 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trước khi phân biệt SQL và NoSQL chúng ta cần làm rõ được thế nào là SQL và thế nào là NoSQL. Sau đây mình cũng xin nêu lên 1 số khái niệm qua sự tìm hiểu của mình. SQL là gì?

Những điểm khác biệt giữa SQL và NoSQL

  • Tác giả: dotnet.edu.vn
  • Đánh giá: 5 ⭐ ( 5039 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bạn có thể tìm rất nhiều tutorial về cả SQL, NoSQL để tìm hiểu sâu về chúng. Trong bài viết này mình sẽ chỉ ra những điểm khác biệt giữa hai loại truy vấn này.

Những Sự khác biệt giữa SQL, PL/SQL và T-SQL

  • Tác giả: onlineaz.vn
  • Đánh giá: 3 ⭐ ( 8329 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Công ty t-sql là gì Đơn vị

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Hướng dẫn về CSS Flexbox và Grid - Cách tạo Trang đích đáp ứng với HTML và CSS - hiển thị lưới đáp ứng linh hoạt

By ads_php