Erinevus grupi kaupa ja tellimuse järgi SQL-is

Autor: Laura McKinney
Loomise Kuupäev: 1 Aprill 2021
Värskenduse Kuupäev: 17 Mai 2024
Anonim
Erinevus grupi kaupa ja tellimuse järgi SQL-is - Tehnoloogia
Erinevus grupi kaupa ja tellimuse järgi SQL-is - Tehnoloogia

Sisu


SQL võimaldab korraldada päringuga saadud andmeid. Päringust saadud andmete korraldamiseks on meil kaks klauslit, mis on klausel Rühm ja Järjestus. Punkt, mis eristab grupipõhist ja tellimisklauslit, on see Rühmita klauslit kasutatakse siis, kui soovime rakendada liitfunktsiooni rohkem kui ühele tüüptüüpide ja Telli klauslit kasutatakse siis, kui soovime päringuga saadud andmeid sortida. Arutleme allpool toodud võrdlusdiagrammi abil grupiviisilise klausli ja tellimisklausli erinevusi.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusRühmitaTelli
PõhilineRühma poolt kasutatakse tüüpide komplekti rühma moodustamiseks.Tellimuste järgi korraldatakse päringu tulemusel saadud andmed sorteeritud kujul.
Atribuut Funktsiooni Agregaat atribuut ei saa kuuluda rühma kaupa.Agregeeritud atribuut võib olla järjekorras klausli järgi.
MaapindTehtud atribuutide väärtuste sarnasuse alusel.Tehtud kasvava ja kahaneva järjekorra alusel.

Rühma määratlus klausli järgi

Ühtsele komplektile rakendatakse agregeeritud funktsioone, näiteks avg, min, max, summa, count. Juhul, kui soovite koondandmeid rakendada tüüpide komplekti rühmas, on meil selleks grupp klausli järgi. Rühmitamine klausli järgi rühmitab sama atribuudi väärtusega tüübid.


Selles on üks asi mäletan Rühmaklausli kohta veenduge, et atribuut all Rühmita klausel peab ilmuma VALI klausel kuid mitte all agregeeritud funktsioon. Kui grupi klausel sisaldab atribuuti, mis ei kuulu SELECT-lause alla, või kui see on SELECT-klausli all, kuid koondfunktsiooni all, siis muutub päring ekslikuks. Seega võime öelda, et grupi klauslit kasutatakse alati koos SELECT-klausliga.

Võtame näite grupipõhise klausli mõistmiseks.

SELECT Department _ID, avg (palk) kui avg_salary õpetajarühmalt osakonna_ID järgi.

Näete, et esialgu moodustub vahetulemus, mis on osakonnad rühmitanud.


Järgmisena rakendatakse agregeeritud funktsiooni keskm iga osakonna rühma jaoks ja tulemus on näidatud allpool.

Tellimuse määratlus klausli järgi

Tellimisklausli abil kuvatakse päringuga saadud andmed sorteeritud järjekorras. Sarnaselt grupipõhise klausliga kasutatakse tellimisklauslit ka koostöös SELECT-klausliga. Kui te sorteerimisjärjestust ei maini, sorteerib järjestusklausel andmed kasvavas järjekorras. Võite määrata tõusva järjekorra kui asc ja kahanev järjekord nagu desc.

Mõistame tellimuse klausli toimimist järgmise näite abil. Meil on õpetaja tabel ja ma hakkan sorteerima õpetaja tabeli kahte veergu Department_Id ja palk.

Valige osakonna_ID, palk õpetajalt Tellimuse järgi osakonna_aja järgi, palga kirjeldus.

Võite kõigepealt näha, et see korraldab osakonna _ID kasvavas järjekorras ja seejärel korraldab palgad samas osakonnas kahanevas järjekorras.

  1. Rühmade kaupa lause grupeerib tüüpide komplekti suhetes, mis asuvad klausli SELECT all. Teisest küljest järjestab klausel päringu tulemuse kasvavas või kahanevas järjekorras.
  2. Koondfunktsiooni atribuut ei saa kuuluda rühma kaupa, samas kui koondfunktsiooni atribuut võib olla seal järjekorra klausli alusel.
  3. Tippide grupeerimine toimub sarnasuse alusel atribuutide väärtuste vahel. Teisest küljest toimub järjestamine või sortimine kasvava või kahaneva järjekorra alusel.

Järeldus:

Kui soovite moodustada tüüpide komplekti rühma, peate kasutama rühma By. Juhul, kui soovite korraldada ühe veeru või mitme rea veergude andmed kasvavas või kahanevas järjekorras, tuleb kasutada klauslit Tellimus.