Suositeltava, 2024

Toimituksen Valinta

Ryhmien ja tilausten välinen ero SQL: ssä

SQL sallii kyselyn avulla saatujen tietojen järjestämisen. Meillä on kaksi lauseketta, joiden avulla järjestetään kyselystä saadut tiedot, jotka ovat ryhmä- ja järjestyslausekkeita. Kohta, joka erottaa ryhmän ja järjestyksen lausekkeen, on se, että ryhmäkohtaista lauseketta käytetään, kun halutaan soveltaa kokonaisfunktiota useampaan kuin yhteen sarjaan, ja tilauslauseketta käytetään, kun halutaan lajitella kyselyn saamat tiedot. Keskustelkaa joitakin eroja Group By -lausekkeen ja Order By -lausekkeen välillä alla olevan vertailukaavion avulla.

Vertailukaavio

Vertailun perusteetRyhmitteleTilaa
perustiedotRyhmätyyppiä käytetään muodostamaan ryhmä ryhmistä.Tilauksen mukaan järjestetään kyselyn tuloksena saadut tiedot lajitellussa muodossa.
ominaisuusOminaisuus kohdassa Kokonaisfunktio ei voi olla Ryhmätapa-kohdassa.Kokoonpanon ominaisuus voi olla järjestyksessä lausekkeessa.
maaTehty ominaisuusarvojen samankaltaisuuden perusteella.Tehty nousevassa järjestyksessä ja laskevassa järjestyksessä.

Ryhmittymän määritelmä

Aggregaattifunktiot, kuten avg, min, max, summa, laskenta, sovelletaan yksittäisiin sarjoihin. Jos haluat käyttää kokoamisfunktioita ryhmien joukkoihin, niin meillä on tähän ryhmään liittyvä lauseke. Ryhmälauseke ryhmittelee samanlaiset attribuutiarvot.

Ryhmätapahtumaa koskevasta lausekkeesta on yksi asia, varmista, että Ryhmittymän lausekkeen alla olevan attribuutin tulee näkyä SELECT- lausekkeessa, mutta ei aggregoidun toiminnon alla . Jos Ryhmätapa-lauseke sisältää attribuutin, joka ei ole SELECT-lausekkeen alla tai jos se on SELECT-lausekkeen alla, mutta kokonaisfunktion alla, kysely muuttuu virheelliseksi. Näin ollen voimme sanoa, että Group By -lauseketta käytetään aina yhteistyössä SELECT-lausekkeen kanssa.

Otetaanpa esimerkki ymmärtääksemme ryhmäryhmän lauseketta.

VALITSE osasto _ID, avg (palkka) avg_salaryna opettajaryhmästä osastolle_ID.

Näet, että aluksi muodostetaan välitulos, joka on ryhmittänyt yksiköt.

Seuraavaksi kullekin osastoryhmälle sovelletaan kokonaisfunktiota avg ja tulos esitetään alla.

Määritelmä määräyksen mukaan

Tilauksen mukaan lausekkeella näytetään lajitellussa järjestyksessä kyselyn avulla saadut tiedot. Ryhmäkohtaisen lausekkeen tavoin järjestyslauseketta käytetään myös yhteistyössä SELECT-lausekkeen kanssa. Jos et mainitse lajittelujärjestystä, järjestyslauseke lajittelee tiedot nousevassa järjestyksessä. Voit määrittää nousevaan järjestykseen asc ja laskevassa järjestyksessä desc .

Ymmärtäkäämme Order By -lausekkeen toimintaa seuraavan esimerkin avulla. Meillä on opettajataulukko, ja aion soveltaa lajittelua opettajan taulukon kahteen sarakkeeseen Department_Id ja palkkaan.

Valitse osasto_ID, palkka opettajajärjestyksestä osastolta_Id asc, palkan desc.

Näet ensin, että se järjestää osaston _ID nousevaan järjestykseen ja järjestää palkat samassa osastossa laskevassa järjestyksessä.

Keskeiset erot ryhmittäin ja järjestyksessä

  1. Ryhmän mukaan lauseke ryhmittelee sekvenssit sellaiseen suhteeseen, joka on SELECT-lausekkeen alla. Toisaalta järjestyslauseke lajittelee kyselyn tuloksen nousevassa tai laskevassa järjestyksessä.
  2. Kokonaisfunktiossa oleva attribuutti ei voi kuulua ryhmätapahtuman lausekkeeseen, kun taas yhdistetyssä toiminnossa oleva attribuutti voi olla siinä kohdassa Järjestyslauseke.
  3. Sekvenssien ryhmittely tehdään tupleiden attribuuttiarvojen samankaltaisuuden perusteella. Toisaalta tilaaminen tai lajittelu tapahtuu nousevassa järjestyksessä tai laskevassa järjestyksessä.

johtopäätös:

Jos haluat muodostaa ryhmän tupleista, sinun on käytettävä Group By -lauseketta. Jos haluat järjestää yksittäisen sarakkeen tiedot tai useampia sarakkeita sarakkeiden sarjassa nousevassa tai laskevassa järjestyksessä, on käytettävä Järjestyslauseketta.

Top