Đề XuấT, 2020

Editor Choice

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

SQL cho phép tổ chức dữ liệu thu được bằng 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à mệnh đề Group By được sử dụng khi chúng ta muốn áp dụng hàm tổng hợp cho nhiều hơn một bộ tuple và mệnh đề Order By đượ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.

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ínhThuộ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 nền tảng của 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. 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 cần nhớ về mệnh đề Group By, hãy chắc chắn rằng thuộc tính trong mệnh đề Group By phải xuất hiện trong mệnh đề SELECT nhưng không thuộc hàm 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.

Chúng ta hãy lấy một ví dụ để hiểu mệnh đề Group By.

Bộ phận CHỌ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à asc và thứ tự giảm dần là 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 trước 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.

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

  1. Group By 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.

Top