SQL tarkoittaa strukturoitua kyselykieliä ; se on kattava tai julistava tietokantakieli, jota käytetään tietokantojen tietojen käyttämiseen.
Vertailukaavio
Vertailun perusteet | MISSÄ | oTTAA |
---|---|---|
perustiedot | Toteutetaan rivitoiminnoissa. | Toteutetaan sarakkeen toiminnoissa. |
Sovellettu | Yksi rivi | Tiivistetty rivi tai ryhmät. |
Tietojen hakeminen | Se noutaa vain tietyt tietyt rivit tietyn tilan mukaan. | Aluksi haetaan täydellisiä tietoja ja erotetaan sitten tilan mukaan. |
Kokonaisfunktiot | Ei voi näkyä WHERE-lausekkeessa. | Voi näkyä HAVING-lausekkeessa. |
Käytetään | SELECT ja muut lausunnot, kuten UPDATE, DELETE tai jompikumpi niistä. | Ei voi käyttää ilman SELECT-lausuntoa. |
Toimi kuten | Esisuodattimen | Jälkisuodattimella |
GROUP BY | Tulee WHERE: n jälkeen. | Jälkeen HAVING. |
Määritelmä missä lauseke
SQL WHERE -lauseketta käytetään kuvaamaan tilannetta, kun tietoja haetaan yhdestä taulukosta tai liittämällä siihen useita taulukoita. Se palauttaa vain tietyn arvon taulukosta, jos tietty ehto täyttyy. WHERE-lauseketta käytetään tallentamaan tietueet ja hakemaan vain tarvittavat tiedot.
SQL toteuttaa myös loogiset liitännät ja WHERE-lausekkeen, joka tunnetaan myös boolen ehtona; ehto on totta, jos haluat noutaa tuplat. Loogisten yhteyksien lausekkeiden operandit sisältävät vertailuoperaattorit, kuten <, <=, >, > =, = ja . Nämä vertailuoperaattorit vertaavat merkkijonoja ja aritmeettisia lausekkeita. Sitä voidaan käyttää SELECT- lauseessa sekä UPDATE-, DELETE- lausunnoissa.
Otetaan esimerkki. Alla olevassa taulukossa, joka on nimeltään " Myynti ", muodostuu " Tuote " ja " Myynti_määrä " -määritteet.
SELECT Product, summa (Sales_amount) AS Total_sales myyjältä, jossa tuote (puhelin, puhujat) GROUP BY -tuote;
Määritelmä lausekkeesta
SQL tarjoaa HAVING-lausekkeen, jota voidaan käyttää yhdessä GROUP BY -lausekkeen kanssa. Tämä HAVING-lauseke auttaa hakemaan arvoja ryhmille, jotka täyttävät tietyt ehdot. WHERE-lauseke voi myös käyttää yhdessä HAVING -lausekkeen kanssa valinnan aikana, WHERE-lauseke suodattaa yksittäisen rivin. Sitten rivit ryhmitellään ja suoritetaan yhteenlasketut laskelmat, lopulta HAVING-lauseke suodattaa ryhmät.
Se toimii samalla tavalla kuin silloin, kun GROUP BY-avainsanaa ei käytetä. Ryhmän toiminnot, kuten min, max, avg, summa ja määrä, voivat näkyä vain kahdessa lausekkeessa: SELECT ja HAVING. Se tarjoaa edellytyksen määritteille, jotka vastaavat kutakin ominaisuusryhmän arvoa. Tuloksena näytetään ainoa ehtojen täyttävä tietue.
Täällä otamme myös saman esimerkin kuin WHERE-lauseke ja samaa myynti- taulukkoa. Kun haluamme laskea puhelimen ja kaiuttimien Total_sales HAVING -lausekkeen avulla, kirjoitamme seuraavan kyselyn.
SELECT-tuote, summa (Sales_amount) AS Total_sales myyjistä tuoteryhmästä TUOTTEEN JÄLKEEN Tuote ('puhelin', 'kaiuttimet');
Kysely tuottaa seuraavan tuotoksen, jossa tuotteet haetaan ensin, sitten suoritetaan aggregaattifunktio (summa) ja viimeisissä ryhmissä suodatetaan toisin kuin WHERE-lauseke.
Kun haluamme löytää vain ne tuotteet, joissa Total_sales on suurempi kuin 1000. Kysely voidaan kirjoittaa seuraavasti:
VALITSE Tuote, summa (Sales_amount) AS Total_sales myyjältä tuotetusta summasta (myynti_määrä)> 1000;
Tuotettu tuotos on:
Tätä ei voida suorittaa käyttämällä WHERE-lauseketta HAVING -toiminnosta huolimatta, ja se luo virhesanoman, koska WHERE-lauseketta ei voida käyttää yhdistetyillä toiminnoilla.
Tärkeimmät erot missä ja ottaa lausekkeen
- WHERE-lauseketta käytetään rivitoiminnoissa ja sitä käytetään yhdessä rivissä, kun taas HAVING-lauseketta käytetään sarakkeen toiminnoissa ja sitä voidaan soveltaa yhteenvedettuihin riveihin tai ryhmiin.
- WHERE-lausekkeessa haluttu data haetaan sovelletun tilan mukaan. Sitä vastoin HAVING-lauseke noutaa koko dataa, ja erottaminen tapahtuu tilan mukaan.
- Kokonaisfunktiot, kuten min, summa, max, avg, eivät voi koskaan näkyä yhdessä WHERE-lausekkeen kanssa. Vastoin näitä toimintoja voi näkyä HAVING-lausekkeessa.
- HAVING-lauseketta ei voi käyttää ilman SELECT-lausuntoa. Sitä vastoin WHERE voidaan käyttää SELECT, UPDATE, DELETE jne. Kanssa.
- WHERE-lauseke käyttäytyy esisuodattimena, kun HAVING -lauseke toimii jälkisuodattimena.
- WHERE-lauseke, kun sitä käytetään GROUP BY: n kanssa, tulee ennen GROUP BY: tä. Tämä merkitsee sitä, että WHERE suodatetaan riviä ennen kuin lasketaan yhteen. Toisaalta HAVING tulee GROUP GROUPin jälkeen, mikä tarkoittaa sitä, että suodattimet suoritetaan yhdistettyjen laskelmien suorittamisen jälkeen.
johtopäätös
WHERE ja HAVING -lauseke toimii samalla tavalla kuin HAVING -lausekkeen suosittu lisäominaisuus. HAVING-lauseke voi toimia tehokkaasti yhdistetyillä toiminnoilla, kun WHERE-toimintoa ei voida käyttää yhdistetyillä toiminnoilla.