SQL-kyselyt, joiden predikaatti on ALL, TOP, DISTINCT, DISTINCTROW

  • Jul 26, 2021
click fraud protection

Predikaatti sisältyy lausekkeen ja haettavan kentän etunimen väliin, mahdolliset predikaatit ovat:

  • KAIKKI: Palauttaa kaikki taulukon kentät
  • TOP: Palauttaa tietyn määrän tietueita taulukosta
  • EROTU: Ohita tietueet, joiden valitut kentät vastaavat täysin
  • ERITTÄMINEN: Ohita päällekkäiset tietueet koko tietueen eikä vain valittujen kenttien perusteella.

KAIKKI (* voidaan käyttää sen sijaan):

Mainokset

Jos mikään predikaatista ei sisälly, oletetaan KAIKKI. Tietokantamoottori valitsee kaikki tietueet, jotka täyttävät SQL-käskyn ehdot. Tätä predikaattia ei ole kätevää käyttää väärin, koska pakotamme tietokantamoottorin analysoimaan taulukon rakenne löytääksesi sen sisältämät kentät, on paljon nopeampi ilmoittaa kenttäluettelo haluttu.

Mainokset

VALITSE KAIKKI Työntekijät;

VALITSE * DESDE Työntekijät;

Mainokset

TOP

Palauttaa tietyn määrän tietueita, jotka kuuluvat ORDER BY -lausekkeella määritetyn alueen alun tai lopun väliin. Oletetaan, että haluamme hakea lukuvuoden 1994 25 ensimmäisen opiskelijan nimet:

Mainokset

- VALITSE TOP 25 Etunimi, sukunimi DESDE Opiskelijat

- TILAA Merkintä DESC;

Mainokset

Jos lauseketta ei sisälly TILAA, kysely palauttaa mielivaltaisen 25 tietuejoukon Opiskelijat-taulukosta TOP se ei valitse yhtäläisten arvojen välillä. Yllä olevassa esimerkissä, jos 25. ja 26. luokan keskiarvo ovat samat, kysely palauttaa 26 tietuetta. Voit käyttää varattua sanaa PROSENTTI palauttaa tietyn prosenttiosuuden tietueista, jotka kuuluvat lauseessa määritetyn alueen alkuun tai loppuun TILAA. Oletetaan, että 25 ensimmäisen opiskelijan sijaan haluamme 10 prosenttia kurssista:

- VALITSE TOP 10 PROSENTTI Nimi sukunimi DESDE Opiskelijat TILAA Merkintä DESC;

Seuraava arvo TOP on oltava allekirjoittamaton kokonaisluku.TOP se ei vaikuta kyselyn mahdolliseen päivitykseen.

EROTU

Ohita tietueet, jotka sisältävät päällekkäisiä tietoja valituissa kentissä. Joten kunkin lausekkeessa luetellun kentän arvot VALITSE kyselyyn sisältyvien on oltava yksilöllisiä.

Esimerkiksi useilla Työntekijät-taulukossa luetelluilla työntekijöillä voi olla sama sukunimi. Jos kahdessa tietueessa on Lopez Sukunimi-kentässä, seuraava lause SQL palauttaa yhden tietueen:

- VALITSE ERO Sukunimi DESDE Työntekijät;

Toisin sanoen predikaatti EROTU palauttaa ne tietueet, joiden kentät on ilmoitettu lausekkeessa VALITSE on erilainen sisältö. Käytetyn kyselyn tulos EROTU sitä ei voi päivittää eikä se heijasta muiden käyttäjien tekemiä myöhempiä muutoksia.

ERITTÄMINEN

Palauttaa taulukon eri tietueet; Toisin kuin edellinen predikaatti, joka tarkasteli vain valittujen kenttien sisältöä, se tekee niin koko tietueen sisällössä riippumatta lauseke VALITSE.

- VALITSE DISTINCTROW Sukunimi DESDE Työntekijät;

Jos työntekijöiden taulukossa on kaksi tietuetta: Antonio López ja Marta López, predikaatin esimerkki EROTU palauttaa yhden tietueen, jonka arvo Lopez on Sukunimi-kentässä, koska se ei etsi kaksoiskappaleita kyseisestä kentästä. Tämä viimeinen esimerkki palauttaa kaksi tietuetta, joiden arvo on Lopez sukunimessä, koska koko tietueesta etsitään ei-kaksoiskappaleita.

instagram viewer