Sự khác biệt giữa nhóm theo và thứ tự trong SQL

Tác Giả: Laura McKinney
Ngày Sáng TạO: 1 Tháng Tư 2021
CậP NhậT Ngày Tháng: 10 Có Thể 2024
Anonim
Sự khác biệt giữa nhóm theo và thứ tự trong SQL - Công Nghệ
Sự khác biệt giữa nhóm theo và thứ tự trong SQL - Công Nghệ

NộI Dung


SQL cho phép tổ chức dữ liệu thu được bởi truy vấn. Chúng tôi có hai mệnh đề để tổ chức dữ liệu thu được từ truy vấn đó là mệnh đề Group By và Order By. Điểm phân biệt mệnh đề Group By và Order By là Nhóm theo mệnh đề được sử dụng khi chúng ta muốn áp dụng hàm tổng hợp cho nhiều bộ dữ liệu và Đặt bởi mệnh đề được sử dụng khi chúng ta muốn sắp xếp dữ liệu thu được bởi truy vấn. Hãy để chúng tôi thảo luận về một số khác biệt giữa mệnh đề Group By và mệnh đề Order By với sự trợ giúp của biểu đồ so sánh được hiển thị bên dưới.

  1. Biểu đồ so sánh
  2. Định nghĩa
  3. Sự khác biệt chính
  4. Phần kết luận

Biểu đồ so sánh

Cơ sở để so sánhNhóm theoĐặt bởi
Căn bảnGroup By được sử dụng để tạo thành Nhóm của bộ các bộ dữ liệu.Order By được sử dụng để sắp xếp dữ liệu thu được do kết quả của truy vấn ở dạng Sắp xếp.
Thuộc tính Thuộc tính theo hàm Tổng hợp không thể nằm trong mệnh đề Nhóm theo.Thuộc tính theo tổng hợp có thể theo thứ tự theo khoản.
ĐấtThực hiện trên cơ sở tương tự giữa các giá trị thuộc tính.Thực hiện trên mặt đất của thứ tự tăng dần và thứ tự giảm dần.

Định nghĩa nhóm theo khoản

Các hàm tổng hợp như avg, min, max, sum, Count được áp dụng cho một bộ tuple duy nhất. Trong trường hợp, nếu bạn muốn áp dụng các hàm tổng hợp cho nhóm các bộ dữ liệu thì chúng ta có Nhóm theo mệnh đề cho điều đó. Nhóm theo mệnh đề nhóm các bộ dữ liệu có cùng giá trị thuộc tính.


Có một điều để nhớ lại về mệnh đề Nhóm theo, hãy chắc chắn rằng thuộc tính ở dưới cái Nhóm theo mệnh đề phải xuất hiện trong LỰA CHỌN mệnh đề nhưng không phải dưới một chức năng tổng hợp. Nếu mệnh đề Group By chứa một thuộc tính không thuộc mệnh đề SELECT hoặc nếu nó thuộc mệnh đề SELECT nhưng dưới hàm tổng hợp thì truy vấn trở nên sai. Do đó, chúng ta có thể nói rằng mệnh đề Group By luôn được sử dụng cùng với mệnh đề SELECT.

Hãy để chúng tôi lấy một ví dụ để hiểu mệnh đề Group By.

CHỌN Bộ phận _ID, avg (Mức lương) dưới dạng avg_salary từ Nhóm giáo viên theo Bộ phận_ID.


Bạn có thể thấy rằng ban đầu một kết quả trung gian được hình thành đã nhóm các phòng ban.

Tiếp theo, hàm tổng hợp avg được áp dụng cho từng nhóm phòng ban và kết quả được hiển thị bên dưới.

Định nghĩa thứ tự theo khoản

Mệnh đề Order By được sử dụng để hiển thị dữ liệu thu được bởi một truy vấn theo thứ tự được sắp xếp. Giống như mệnh đề Group By, mệnh đề Order By cũng được sử dụng cùng với mệnh đề SELECT. Nếu bạn không đề cập đến thứ tự sắp xếp, mệnh đề Order By sắp xếp dữ liệu theo thứ tự tăng dần. Bạn có thể chỉ định thứ tự tăng dần là Tăng dần và thứ tự giảm dần như desc.

Hãy cho chúng tôi hiểu hoạt động của mệnh đề Order By với sự trợ giúp của ví dụ sau. Chúng tôi có một bảng Giáo viên và tôi sẽ áp dụng sắp xếp cho hai cột Sở_Id và Mức lương của bảng Giáo viên.

Chọn Sở_ID, Mức lương từ thứ tự giáo viên theo Sở_Id asc, Mức lương desc.

Bạn có thể thấy rằng đầu tiên, nó sắp xếp Bộ _ID theo thứ tự tăng dần và sau đó nó sắp xếp mức lương trong cùng một bộ phận theo thứ tự giảm dần.

  1. Nhóm Theo mệnh đề nhóm tập hợp các bộ dữ liệu trong một mối quan hệ nằm dưới mệnh đề SELECT. Mặt khác, mệnh đề Order By sắp xếp kết quả của truy vấn theo thứ tự tăng dần hoặc giảm dần.
  2. Thuộc tính dưới hàm tổng hợp không thể nằm dưới mệnh đề Group By trong khi đó, thuộc tính dưới hàm tổng hợp có thể ở đó dưới mệnh đề Order By.
  3. Nhóm các bộ dữ liệu được thực hiện trên cơ sở tương tự giữa các giá trị thuộc tính của bộ dữ liệu. Mặt khác, việc sắp xếp hoặc sắp xếp được thực hiện trên cơ sở thứ tự tăng dần hoặc thứ tự giảm dần.

Phần kết luận:

Nếu bạn muốn tạo thành nhóm của bộ dữ liệu, thì bạn phải sử dụng mệnh đề Nhóm theo. Trong trường hợp bạn muốn sắp xếp dữ liệu của một cột hoặc, nhiều hơn một cột trong bộ bộ theo thứ tự tăng dần hoặc giảm dần thì phải sử dụng mệnh đề Order By.