Ajánlott, 2024

Szerkesztő Választása

Különbség a csoportos és a rendelési szint között az SQL-ben

Az SQL lehetővé teszi a lekérdezés által kapott adatok megszervezését. Két kikötésünk van a lekérdezésből származó adatok megszervezésére, amelyek csoportos és rendelési záradék. A Group By és Order By záradékot megkülönböztető pont az, hogy a Group By záradékot akkor használjuk, amikor az összesített függvényt több, mint egy sor halmazra szeretnénk alkalmazni, és a Rendelés- záradékot akkor használjuk, ha a lekérdezés által kapott adatokat szeretnénk rendezni. Beszéljünk néhány különbségről a Group By záradék és a Rendelés szerinti záradék között az alábbi táblázat segítségével.

Összehasonlító táblázat

Az összehasonlítás alapjaCsoportosítRendezés
AlapvetőA csoportosító a csoportok csoportjának létrehozásához használható.A rendelés szerint a lekérdezés eredményeként rendezett adatokat rendezi a rendezett formában.
TulajdonságAz Összesített függvény alatti attribútum nem lehet a Csoportos záradékban.Az összesített attribútum lehet a Rendelés szerinti sorrendben.
TalajKészült az attribútumértékek hasonlósága alapján.Készült a növekvő sorrend és csökkenő sorrend alapján.

A csoport szerinti meghatározás

Az összesített függvények, mint például az avg, min, max, összeg, grófok az egyetlen sorszámra vonatkoznak. Abban az esetben, ha az összesített függvényeket a sorok halmazának csoportjához kívánja alkalmazni, akkor van erre csoportos záradék. A csoportonkénti csoportok csoportosítják az azonos attribútumértékkel rendelkező rekordokat.

Van egy dolog, amire emlékeznünk kell a Group By záradékról, győződjön meg róla, hogy a Group By záradékban szereplő attribútumnak meg kell jelennie a SELECT záradékban, de nem kell aggregált függvény alatt . Ha a Group By záradék egy olyan attribútumot tartalmaz, amely nem szerepel a SELECT záradékban, vagy ha SELECT záradék alatt van, hanem aggregált függvény alatt, akkor a lekérdezés hibás lesz. Ezért azt mondhatjuk, hogy a Csoportos záradékot mindig a SELECT záradékkal együtt használják.

Vegyünk példát arra, hogy megértsük a csoportos záradékot.

SELECT osztály _ID, avg (fizetés) avg_salaryként a tanárcsoporttól osztályonként_ID.

Láthatjuk, hogy kezdetben egy közbenső eredmény jön létre, amely a szervezeti egységeket csoportosította.

Ezután az osztályok összes csoportjára alkalmazzuk az összesített függvényt, az eredmény pedig az alábbiakban látható.

A rendelettervezet meghatározása

A rendelés szerinti záradékot a rendezett sorrendben lekérdezéssel kapott adatok megjelenítésére használjuk. A Csoportos záradékhoz hasonlóan a Rendelés szerinti záradékot a SELECT záradékkal együtt is használják. Ha nem említi a rendezési sorrendet, akkor a Rendelés szerinti záradék sorolja fel az adatokat növekvő sorrendben. A növekvő sorrendet asc és csökkenő sorrendben adhatja meg.

A következő példa segítségével megértsük a Rendelés-mondat működését. Van egy Tanári asztalunk, és a Tanári asztal két oszlopára, a Department_Id és a fizetés osztályára válogattam.

Válasszon a Department_ID, a tanári fizetés osztályonként_Id asc, fizetés desc.

Láthatjuk, hogy először a _ID osztályt növekvő sorrendben rendezi, majd az ugyanabban a részlegben fizetendő béreket csökkenő sorrendben rendezi.

A csoport és a sorrend közötti különbségek

  1. A Csoportos záradék csoportosítja a sorok halmazát a SELECT záradék alá tartozó viszonyban. Másrészről a Rendezés feltétele szerint a lekérdezés eredményét növekvő vagy csökkenő sorrendben rendezi.
  2. Az összesített függvény attribútuma nem lehet a Csoport szerinti záradék alatt, míg az összesített függvény attribútuma lehet a Rendelés szerinti záradék alatt.
  3. A rekordok csoportosítása a rekordok attribútumértékei közötti hasonlóság alapján történik. Másrészt a megrendelés vagy a rendezés növekvő sorrend vagy csökkenő sorrend alapján történik.

Következtetés:

Ha meg akarja alkotni a csoportok csoportját, akkor a Csoportos záradékot kell használnia. Abban az esetben, ha egy oszlop adatait szeretné elrendezni, vagy több oszlopot kell megadni a sorok halmazában növekvő vagy csökkenő sorrendben, akkor a Rendelés szerinti záradékot kell használni.

Top