Soovitatav, 2020

Toimetaja Valik

Erinevus grupi ja tellimuse vahel SQL-is

SQL võimaldab korraldada päringu abil saadud andmeid. Meil on kaks klauslit, et korraldada päringust saadud andmed, mis on gruppide ja järjekordade klausel. Punkt, mis eristab rühma-ja järjekorda-punkti, on see, et grupipõhist klauslit kasutatakse siis, kui soovime koondfunktsiooni rakendada rohkem kui ühele rühmale, ja kui kasutatakse päringuga saadud andmete sortimist, kasutatakse tellimuse punkti. Arutagem mõningaid erinevusi grupi ja klausli vahel vastavalt alltoodud võrdlustabelile.

Võrdluskaart

Võrdluse alusGrupi järgiTelli
PõhilineGrupitüüpi kasutatakse rühmade grupi moodustamiseks.Tellimuse järgi kasutatakse järjestatud vormis päringu tulemusena saadud andmete korraldamiseks.
AtribuutKogusfunktsiooni all olev atribuut ei saa olla rühma-grupi klauslis.Koondatud atribuut võib olla jaotises Tellimus.
MaaKoostatud atribuutide väärtuste sarnasuse alusel.Koostatud kasvavas järjekorras ja kahanevas järjekorras.

Rühmapõhine klausel

Agregeeritud funktsioone, näiteks avg, min, max, sum, count, rakendatakse ühele rühmale. Juhul, kui soovid rakendada koondfunktsioone rühmade kogumi rühmale, siis on selleks grupi klausel. Rühmaklausel rühmitab samad atribuudi väärtusega rühmad.

Rühma-punkti klausli kohta tuleb meeles pidada, olla kindel, et grupierandi punkti atribuut peab ilmuma SELECT-i klauslis, kuid mitte koondfunktsiooni all. Kui grupierandi klausel sisaldab atribuuti, mis ei kuulu SELECT klausli alla või kui see on SELECT klausli all, kuid koondfunktsiooni all muutub päring ekslikuks. Seega võime öelda, et grupipõhist klauslit kasutatakse alati koostöös SELECT klausliga.

Võtame eeskuju, et mõista rühmapõhist klauslit.

Valida osakond _ID, avg (palk) kui avg_salary õpetajate rühma järgi Department_ID.

Näete, et esialgu moodustatakse osakonnad rühmitanud vahepealne tulemus.

Järgmisena rakendatakse igale osakondade rühmale koondfunktsiooni avg ja tulemus on näidatud allpool.

Määruse määratlus klausli järgi

Tellimuse järgi kasutatakse andmeid, mis on saadud päringuga sorteeritud järjekorras. Sarnaselt grupierandi klauslile kasutatakse ka tellimuse klauslit koostöös SELECT klausliga. Kui te ei maini sorteerimiskorraldust, sorteerib Tellimuse klausel andmed kasvavas järjekorras. Saate määrata kasvavas järjekorras asc ja kahanevas järjekorras desc .

Mõistkem alljärgneva näite abil tellimuse klausli toimimist. Meil on õpetaja tabel ja ma rakendan õpetaja tabeli kahte veergu Department_Id ja palka.

Valige Department_ID, Palk õpetaja tellimusest osakonna järgi_Id asc, Palkade arv.

Näete, et kõigepealt korraldab ta osakonna _ID kasvavas järjekorras ja seejärel korraldab palgad samas osakonnas kahanevas järjekorras.

Peamised erinevused grupi ja järjekorra vahel

  1. Rühmapõhine klausel rühmitab rühmad kogumite vahel, mis on SELECT-i lause all. Teisest küljest sorteerib tellimuse klausel päringu tulemus kasvavas või kahanevas järjekorras.
  2. Koondfunktsiooniga atribuut ei saa olla grupi järgi klausli all, samas kui koondfunktsioonis olev atribuut võib olla tellimuse punkti alusel.
  3. Sümbolite rühmitamine toimub sarnasuste alusel, mis on ühikute atribuutide väärtused. Teisalt toimub tellimine või sorteerimine kasvava järjekorra või kahaneva järjekorra alusel.

Järeldus:

Kui soovite moodustada rühmade rühma, peate kasutama grupi järgi klauslit. Juhul, kui soovid korraldada ühe veeru andmeid või tuleb kasutada rohkem kui ühte veergu kogumite hulgast kasvavas või kahanevas järjekorras, siis tuleb kasutada järjekorda.

Top