SQL podupiti

Napomena: Željeli bismo vam pružiti najnoviji sadržaj pomoći što je brže moguće i to na vašem jeziku. Ova je stranica strojno prevedena te može sadržavati gramatičke pogreške ili netočnosti. Naša je namjera da vam ovaj sadržaj bude koristan. Možete li nam pri dnu ove stranice javiti jesu li vam ove informacije bile korisne? Kao referencu možete pogledati i članak na engleskom jeziku.

Podupit je naredba SELECT ugnježđivati unutar SELECT, SELECT... U UMETANJE... Naredba INTO, brisanje ili ažuriranje ili unutar drugog podupita.

Sintaksa

Da biste stvorili podupita možete koristiti tri oblika sintakse:

Usporedba [SVE | SVE | NEKE] (sqlnaredba)

izraz [NE] U (sqlnaredba)

[NE] EXISTS (sqlnaredba)

Podupit sastoji se od ovih dijelova:

Dio

Opis

Usporedba

izraz i operator usporedbe koji uspoređuje izraz s rezultatima podupita.

izraz

Izraz za koju se pretražuje skup rezultata podupita.

sqlnaredba

Naredba SELECT koja slijedi isto oblikovanje i pravila kao bilo koje druge naredba SELECT. Mora biti zatvoren u zagradama.


Napomene

Podupit možete koristiti umjesto na popisu polja naredbe SELECT ili izraz WHERE ili Uvjet HAVING. U podupitu, koristite naredbe SELECT da biste naveli skup jedan ili više određenih vrijednosti za procjenu u WHERE ili izraz Uvjet HAVING.

Koristite ANY ili SOME koji su Sinonimi za učitavanje zapisa u glavnom upitu koji zadovoljavaju usporedbu s bilo kojim zapisima dohvatiti u podupitu. Sljedeći primjer vraća sve proizvode čija je Jedinična cijena veća od bilo kojeg proizvoda prodanih uz popust od 25 posto ili više njih:

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

Pomoću sve predikata učitavanje samo onih zapisa u glavnom upitu koji zadovoljavaju usporedbu sa svim zapisima dohvatiti u podupitu. Ako ste promijenili bilo svima u prethodnom primjeru, upit će vratiti samo one proizvode čija je Jedinična cijena veća od one proizvoda prodanih uz popust od 25 posto ili više njih. To je mnogo veća ograničenja.

Pomoću predikata u učitavanje samo onih zapisa u glavnom upitu za koje neki zapis u podupitu sadrži jednake vrijednosti. Sljedeći primjer vraća sve proizvode s popustom od 25 posto ili više njih:

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

Nasuprot tome, NOT IN možete koristiti za učitavanje samo onih zapisa u glavnom upitu za koje nijedan zapis u podupitu sadrži jednake vrijednosti.

Korištenje predikata EXISTS (s neobavezno ne rezervirane riječi) u usporedbama true i false za određivanje hoće li podupit vraća sve zapise.

Da biste se pozvali na tablice popisane u uvjetu FROM izvan podupita možete koristiti i pseudonima naziv tablice u podupita. Sljedeći primjer vraća imena zaposlenike čije su plaće jednaka ili veća od Prosječna plaća svih zaposlenika isti naziv radnog mjesta. Tablica Zaposlenici dodijeljen je pseudonim "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;

U prethodnom primjeru AS rezervirana riječ nije obavezno.

Neki podupiti dopušteni su u unakrsnim upitima – Konkretno, kao predikati (u uvjetu WHERE). Nije dopušteno podupiti kao rezultat (one na popisu odaberite) u unakrsnim upitima.



Proširite svoje vještine korištenja sustava Office
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×