SQL-i alampäringud

Märkus.: Soovime pakkuda teie keeles kõige ajakohasemat spikrisisu niipea kui võimalik. See leht on tõlgitud automaatselt ja sellel võib leiduda grammatikavigu või ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Palun märkige selle lehe allservas, kas sellest teabest oli teile kasu või mitte. Soovi korral saab ingliskeelset artiklit lugeda siit.

Alampäringu on SELECT-lause valimine, valige ka pesastatud... LISA... KAUSTA, kustutamine või UPDATE-lause või muu Alampäringu sees.

Süntaks

Saate luua Alampäringu kolme tüüpi süntaks:

võrdlus [MIS TAHES | KÕIK | MÕNED] (sqlstatement)

avaldis [POLE] Klõpsake (sqlstatement)

[POLE] Võtmesõna EXISTS (sqlstatement)

Alampäringu koosneb järgmistest osadest.

Osa

Kirjeldus

võrdlus

Mõne avaldis ja võrdluse tehtemärk, mis võrdleb expression tulemustega olevat Alampäringu.

avaldis

Avaldis, mille tulemite hulk, olevat Alampäringu otsitakse.

sql-lause

SELECT-lauses jälgivad sama vorming ja reegleid nagu mis tahes muude SELECT-lause. Sulgude peavad olema ümbritsetud.


Kommentaarid

Saate Alampäringu asemel avaldise SELECT-lause väljaloendis või WHERE-või HAVING-klausel. Alampäringus, saate sisestada ühe või mitme kindla väärtused, kus või võttes klausel avaldist hinnata SELECT-lause.

Kasutada mis tahes või teatud predikaat, mis on sünonüüm kirjed peamised päringu, mis vastavad võrdlus abil kõik kirjed, mis on toodud rakenduses olevat Alampäringu toomiseks. Järgmine näide tagastab kõik tooted, mille ühiku hind on suurem kui 25% või rohkem müüakse toodete:

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

Kõik predikaat abil saate tuua ainult need kirjed peamised päringu abil kõik kirjed, mis on toodud rakenduses olevat Alampäringu võrdlus vastavad. Kui muutsite MÕNDA kõigile eelmises näites, päringu tagasi ainult need tooted, mille ühiku hind on suurem kui 25% või rohkem müüakse kõiki tooteid. See on palju suuremad piirangud.

IN predikaat abil saate tuua ainult need kirjed peamised päringu jaoks, mis sisaldab mõne kirje olevat Alampäringu võrdväärse. Järgmine näide tagastab kõik tooted soodushinnaga 25% või rohkem:

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

Vastupidi, saate tuua ainult need kirjed peamised päringu jaoks, mis sisaldab pole kirje olevat Alampäringu võrdväärse NOT IN.

Kasutage võtmesõna EXISTS predikaat (valikuline ei reserveeritud sõna) on tõene/väär võrdlemiseks kindlaks teha, kas olevat Alampäringu tagastab kõik kirjed.

Samuti saate tabelipseudonüüme nimi Alampäringus tabelid väljaspool olevat Alampäringu FROM-klauslis loetletud viidata. Järgmine näide tagastab nimede töötajad, kelle palgad ei võrreldes Keskmine kõik töötajad, millel on sama ametinimetus suurem või sellega võrdne. Tabel töötajad on antud pseudonüüm "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;

Eelmises näites AS reserveeritud sõna pole kohustuslik.

Ristpäringud on lubatud mõni alampäringud – täpsemalt predikaadina, (need WHERE-klausli). Ristpäringud alampäringud väljundina (need, valige loendist) pole lubatud.



Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×