Office
Kirjaudu sisään

SQL-alikyselyt

Huomautus: Microsoft haluaa tarjota sinulle ajantasaisinta ohjesisältöä mahdollisimman nopeasti omalla kielelläsi. Tämä sivu on käännetty automaation avulla, ja siinä saattaa olla kielioppivirheitä tai epätarkkuuksia. Tarkoitus on, että sisällöstä on sinulle hyötyä. Kertoisitko sivun alareunassa olevan toiminnon avulla, oliko tiedoista hyötyä? Tästä pääset helposti artikkelin englanninkieliseen versioon.

Alikyselyn on SELECT-lauseen, valitse, valitse sisälle... KÄÄNNETÄÄN LISÄÄ... INTO, poista tai UPDATE-lause tai toiseen alikyselyyn.

Syntaksi

Kolme lomakkeiden syntaksin avulla voit luoda alikyselyn:

vertailu [MIKÄ TAHANSA | KAIKKI | Jotkin] (SQL-lause)

lauseke [NOT] -(SQL-lause)

[NOT] EXISTS (SQL-lause)

Alikyselyn on seuraavat osat:

Osa

Kuvaus

vertailu

lauseke ja vertailuoperaattori, joka vertaa lauseketta alikyselyn tuloksiin.

lauseke

Lauseke, jonka alikyselyn tulosjoukon hausta.

sql-lauseke

SELECT-lauseessa, seuraavat säännöt ja samassa muodossa kuin muut SELECT-lauseet. Se on kirjoitettava sulkeissa.


Huomautuksia

Voit käyttää alikyselyn sijaan lauseke SELECT-lauseen kenttäluettelossa tai WHERE- tai HAVING-lause. Alikyselyn Käytä SELECT-lauseessa, voit lisätä vähintään yhden määritetyistä arvoista, joka arvioidaan missä tai HAVING-lauseessa.

Käytä jokin tai jotkin-lause, jotka tarkoittavat, tärkeimmät kyselyn tietueet, jotka vastaavat vertailtaessa kaikki tietueet, jotka on haettu alikyselyn hakemiseen. Seuraava esimerkki palauttaa kaikki tuotteet, joiden Yksikköhinta on suurempi kuin myydään vähintään 25 prosenttia alennus tuotteen:

SELECT * FROM Products WHERE UnitPrice > ANY (SELECT UnitPrice FROM OrderDetails WHERE Discount >= .25);

KAIKKI lause avulla voit hakea vain tärkeimmät kyselyn täyttäviä tietueita vertailu kaikki tietueet, jotka on haettu alikyselyn kanssa. Jos olet muuttanut mitään kaikissa edellisessä esimerkissä, kysely palauttavat vain ne tuotteet, joiden Yksikköhinta on suurempi kuin kaikkien tuotteiden myydään vähintään 25 prosenttia alennus. Tämä on paljon hyvin rajoittava.

IN-lause avulla voit hakea vain tietueet, jonka alikyselyn tietue sisältää arvon, joka on yhtä kuin tärkeimmät kyselyssä. Seuraava esimerkki palauttaa kaikki tuotteet, vähintään 25 prosenttia:

SELECT * FROM Products WHERE ProductID IN (SELECT ProductID FROM OrderDetails WHERE Discount >= .25);

Voit vastaavasti noutaa vain ne tietueet, jossa ei ole alikyselyn tietue sisältää arvon, joka on yhtä kuin tärkeimmät kyselyn NOT IN.

Käytä EXISTS-lause (valinnainen ei varattu sana)-TOSI tai EPÄTOSI vertailuja voit selvittää, onko alikyselyn palauttaa kaikki tietueet.

Voit käyttää myös taulukon aliakset alikyselyssä viitataan taulukoiden FROM-lauseen alikyselyn ulkopuolella. Seuraava esimerkki palauttaa työntekijät, joiden palkat on yhtä suuri kuin tai suurempi kuin kaikkien työntekijöiden ottaa saman tehtävänimike keskimääräinen palkat nimet. Työntekijät-taulukko on annettu tunnus ”T1”:

SELECT LastName, FirstName, Title, Salary FROM Employees AS T1 WHERE Salary >= (SELECT Avg(Salary) FROM Employees WHERE T1.Title = Employees.Title) Order by Title;

Edellisessä esimerkissä AS varattu sana on valinnainen.

Jotkin alikyselyt sallitaan Ristiintaulukointikyselyt, erityisesti kuin predikaatit (kaltaisia WHERE-lauseen). Alikyselyjen kuin tulos (kaltaisia SELECT-luettelossa) eivät ole sallittuja Ristiintaulukointikyselyt.



Kehitä Office-taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×