Atšķirība starp grupēšanu un pasūtīšanu pēc SQL

Autors: Laura McKinney
Radīšanas Datums: 1 Aprīlis 2021
Atjaunināšanas Datums: 15 Maijs 2024
Anonim
Atšķirība starp grupēšanu un pasūtīšanu pēc SQL - Tehnoloģija
Atšķirība starp grupēšanu un pasūtīšanu pēc SQL - Tehnoloģija

Saturs


SQL ļauj organizēt vaicājumā iegūtos datus. Mums ir divas klauzulas, lai organizētu datus, kas iegūti no vaicājuma, ir klauzula Pēc un pēc pasūtījuma. Punkts, kas atšķir Group By un Order By klauzulu, ir tas Grupēt pēc klauzula tiek izmantota, ja mēs vēlamies piemērot apkopojošo funkciju vairāk nekā vienai kopijai un Sakārtot pēc klauzula tiek izmantota, kad mēs vēlamies kārtot datus, kas iegūti pēc vaicājuma. Apskatīsim dažas atšķirības starp grupas klauzulu un rīkojumu pēc klauzulas, izmantojot zemāk parādīto salīdzināšanas tabulu.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsGrupēt pēcSakārtot pēc
PamataGroup By tiek izmantots, lai veidotu grupu no kopu kopas.Pasūtīšanas datums tiek izmantots, lai sakārtotu datus, kas iegūti vaicājuma rezultātā, Sakārtotā formā.
Atribūts Atribūts, kas ietilpst funkcijā Agregāts, nevar atrasties grupā Pēc klauzulas.Kopējā atribūts var būt secībā pēc klauzulas.
ZemeIzgatavots, pamatojoties uz atribūtu vērtību līdzību.Pabeigts, pamatojoties uz augošu un dilstošu secību.

Grupas definīcija pēc klauzulas

Atsevišķām tuples kopām tiek piemērotas tādas summētas funkcijas kā avg, min, max, summa, skaitīšana. Gadījumā, ja jūs vēlaties piemērot apkopotās funkcijas virsrakstu kopas grupai, tad mums ir grupa pēc noteikuma. Grupēt pēc klauzulas sagrupē tabulus, kuriem ir tāda pati atribūta vērtība.


Ir viena lieta atceries par grupu pēc klauzulas, pārliecinieties, ka atribūts saskaņā Grupēt pēc klauzulai jāparādās IZVĒLĒTIES klauzula, bet zem kopējā funkcija. Ja grupa Pēc klauzulas satur atribūtu, kas neatrodas klauzulā SELECT, vai ja tas atrodas zem SELECT klauzulas, bet darbojas apvienotā funkcijā, vaicājums kļūst kļūdains. Līdz ar to mēs varam teikt, ka grupa By klauzula vienmēr tiek izmantota sadarbībā ar SELECT klauzulu.

Ļaujiet mums ņemt piemēru, lai saprastu grupas By klauzulu.

SELECT departaments _ID, vid. (Alga) kā avg_salary no skolotāju grupas Pēc departamenta_ID.

Var redzēt, ka sākotnēji veidojas starpposma rezultāts, kas ir sagrupējis departamentus.


Tālāk katrai nodaļu grupai tiek piemērota apkopotā funkcijas vid., Un rezultāts ir parādīts zemāk.

Rīkojuma definēšana pēc klauzulas

Kārtība pēc klauzulas tiek izmantota, lai parādītu datus, kas iegūti ar vaicājumu sakārtotā secībā. Tāpat kā Group By klauzula, Order By klauzula tiek izmantota arī sadarbībā ar SELECT klauzulu. Ja jūs neminat šķirošanas secību, klauzula Pasūtīt pēc sakārto datus augošā secībā. Jūs varat norādīt augošo secību kā asc un dilstošā secībā kā desc.

Ļaujiet mums saprast klauzulas pasūtījuma darbību ar šī piemēra palīdzību. Mums ir Skolotāju tabula, un es šķirošanu izmantos divās Skolotāju tabulas Department_Id un Alga.

Atlasiet departamenta ID, alga no skolotāju pasūtījuma pēc departamenta ID, asc, algas apraksts.

Jūs varat redzēt, ka vispirms tas sakārto departamentu _ID augošā secībā un tad sakārto algas tajā pašā nodaļā dilstošā secībā.

  1. Grupēt pēc klauzulas sagrupē karšu kopu attiecībās, kas atrodas zem SELECT klauzulas. No otras puses, klauzula Kārtot pēc sakārto vaicājuma rezultātus augošā vai dilstošā secībā.
  2. Atribūts, kas atrodas apvienotajā funkcijā, nevar atrasties grupā Pēc klauzulas, turpretī atribūts, kas ietilpst apvienotajā funkcijā, var būt tur saskaņā ar kārtības klauzulu.
  3. Krāsojumu grupēšana tiek veikta, pamatojoties uz līdzību starp krājumu atribūtu vērtībām. No otras puses, pasūtīšana vai šķirošana tiek veikta, pamatojoties uz augošu vai dilstošu secību.

Secinājums:

Ja vēlaties veidot kopiju kopu, tad jums jāizmanto grupa Pēc klauzulas. Ja vēlaties sakārtot vienas kolonnas vai vairāku kolonnu datus augošā vai dilstošā secībā, jāizmanto secība pēc klauzulas.