Disyorkan, 2024

Pilihan Editor

Perbezaan Antara Kumpulan Oleh dan Pesanan Oleh dalam SQL

SQL membolehkan untuk mengatur data yang diperolehi oleh pertanyaan. Kami mempunyai dua klausa untuk menganjurkan data yang diperolehi daripada pertanyaan yang mengikut perenggan Kumpulan dan Pesanan. Titik yang membezakan Kelompok Oleh dan Perintah Oleh fasal ialah klausa Kumpulan digunakan apabila kita hendak menggunakan fungsi agregat kepada lebih daripada satu set tuple dan fasal Order By digunakan apabila kita hendak menyusun data yang diperolehi oleh pertanyaan. Marilah kita membincangkan beberapa perbezaan antara klausa Kumpulan dan Perintah Dengan fasal dengan bantuan carta perbandingan yang ditunjukkan di bawah.

Carta Perbandingan

Asas untuk PerbandinganKumpulan OlehPerintah oleh
AsasGroup By digunakan untuk membentuk kumpulan set tuple.Order By digunakan untuk mengatur data yang diperoleh hasil daripada pertanyaan dalam bentuk Susun atur.
AtributAtribut di bawah fungsi Agregat tidak boleh di fasal Kumpulan Oleh.Atribut di bawah agregat boleh dalam Perintah Mengikut Fasal.
GroundSelesai berdasarkan kesamaan antara nilai atribut.Selesai atas alasan perintah naik dan turun.

Definisi Kumpulan Mengikut Fasal

Fungsi agregat seperti avg, min, max, jumlah, kiraan digunakan untuk set tunggal tuple. Sekiranya, jika anda mahu menggunakan fungsi agregat kepada kumpulan set tuple maka kami mempunyai klausa Kumpulan untuk itu. Kelompok mengikut fasal mengelompokkan tupel yang mempunyai nilai atribut yang sama.

Terdapat satu perkara yang perlu diingat mengenai klausa Kumpulan, pastikan bahawa atribut di bawah klausa Kumpulan mestilah muncul dalam fasal PILIH tetapi tidak di bawah fungsi agregat . Sekiranya klausa Kumpulan mengandungi atribut yang tidak di bawah klausa SELECT atau jika ia di bawah klausa SELECT tetapi di bawah fungsi agregat maka pertanyaan itu menjadi salah. Oleh itu, kita boleh mengatakan bahawa klausa Kumpulan Oleh itu selalu digunakan dengan kerjasama klausa SELECT.

Marilah kita ambil contoh untuk memahami klausa Kumpulan.

Jabatan SELECT _ID, avg (Gaji) sebagai avg_salary dari Group Teacher By Department_ID.

Anda dapat melihat bahawa pada mulanya keputusan pertengahan dibentuk yang telah mengumpulkan jabatan.

Selanjutnya, fungsi agregat avg digunakan untuk setiap kumpulan jabatan, dan hasilnya ditunjukkan di bawah.

Definisi Perintah Mengikut Fasal

Pesanan Oleh fasal digunakan untuk memaparkan data yang diperolehi oleh pertanyaan dalam susunan yang disusun. Seperti klausa Kumpulan, fasal Order By juga digunakan dengan kerjasama klausa SELECT. Jika anda tidak menyebut urutan pengurutan, fasal Order By menyusun data dalam urutan menaik. Anda boleh menentukan urutan menaik sebagai pesanan menaik dan menurun sebagai desc .

Marilah kita memahami fasal Order By Order dengan bantuan contoh berikut. Kami mempunyai meja Guru, dan saya akan memohon menyusun dua lajur Jabatan_Id dan Gaji, meja Guru.

Pilih Department_ID, Gaji Dari Perintah Guru Oleh Jabatan_Id kena, Gaji menurun.

Anda dapat melihatnya terlebih dahulu, ia mengatur Jabatan _ID dalam urutan menaik dan kemudian mengatur gaji di jabatan yang sama dengan urutan menurun.

Perbezaan Utama Antara Kumpulan dan Pesanan Oleh

  1. Kumpulan Oleh kumpulan fasal kumpulan tupel dalam hubungan yang berada di bawah klausa SELECT. Di sisi lain, klausa Order By menyusun hasil pertanyaan dalam urutan menaik atau menurun.
  2. Atribut di bawah fungsi agregat tidak boleh berada di bawah klausa Kumpulan Oleh kerana itu, atribut di bawah fungsi agregat boleh berada di bawah klausa Perintah.
  3. Pengumpulan tupel dilakukan berdasarkan kesamaan antara nilai atribut tuple. Di sisi lain, pesanan atau pengurutan dilakukan berdasarkan pesanan naik atau urutan menurun.

Kesimpulan:

Jika anda mahu membentuk kumpulan set tuple, maka anda mesti menggunakan klausa Kumpulan Oleh. Sekiranya anda ingin menyusun data satu lajur tunggal atau, lebih daripada satu lajur dalam set tupel dalam urutan menaik atau turun maka fasal Order By mesti digunakan.

Top