Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Podupit je naredba SELECT ugniježđena unutar naredbe SELECT, SELECT... U, UMETNI... INTO, DELETE ili UPDATE naredba ili unutar drugog podupita.

Sintaksa

Za stvaranje podupita možete koristiti tri oblika sintakse:

usporedba [ANY | SVE | SOME] (sqlstatement)

izraz [NOT] IN (sqlstatement)

[NOT] POSTOJI (sqlstatement)

Podupit sadrži sljedeće dijelove:

Dio

Opis

Usporedba

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

izraz

Izraz za koji se pretražuje skup rezultata podupita.

sqlnaredba

Naredba SELECT koja slijedi isti oblik i pravila kao i bilo koja druga naredba SELECT. Mora biti u zagradama.


Napomene

Podupit možete koristiti umjesto izraza na popisu polja naredbe SELECT ili u uvjetu WHERE ili HAVING. U podupitu koristite naredbu SELECT da biste navedite skup jedne ili više određenih vrijednosti za procjenu u izrazu uvjeta WHERE ili HAVING.

Pomoću predikata ANY ili SOME, koji su sinonimi, dohvaćajte zapise u glavnom upitu koji zadovoljavaju usporedbu sa svim zapisima dohvaćenim u podupitu. U sljedećem se primjeru prikazuju svi proizvodi čija je jedinična cijena veća od bilo kojeg proizvoda prodanog uz popust od 25 posto ili više:

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

Predikat ALL koristi se za dohvaćanje samo onih zapisa u glavnom upitu koji zadovoljavaju usporedbu sa svim zapisima dohvaćenim u podupitu. Ako u prethodnom primjeru promijenite ANY u ALL, upit će vratiti samo one proizvode čija je jedinična cijena veća od one za sve proizvode koji se prodaju uz popust od 25 posto ili više. To je mnogo restriktivnije.

Predikat IN koristi se za dohvaćanje samo onih zapisa u glavnom upitu za koje neki zapisi u podupitu sadrže jednaku vrijednost. U sljedećem se primjeru prikazuju svi proizvodi s popustom od 25 posto ili više:

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

Isto tako, NOT IN možete koristiti za dohvaćanje samo onih zapisa u glavnom upitu za koje nijedan zapis u podupitu ne sadrži jednaku vrijednost.

U usporedbama true/false koristite predikat EXISTS (s neobaveznom rezerviranom riječi NOT) da biste utvrdili vraća li podupit zapise.

Pseudonime naziva tablice možete koristiti i u podupitu da biste se pozivali na tablice navedene u uvjetu FROM izvan podupita. U sljedećem se primjeru prikazuju imena zaposlenika čija je plaća jednaka ili veća od prosječne plaće svih zaposlenika s istim radnim mjestom. Tablici 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 obavezan.

Neki su podupiti dopušteni u unakrsnim upitima , posebno kao predikati (oni u uvjetu WHERE). Podupiti kao izlaz (oni na popisu SELECT) nisu dopušteni u unakrsnim upitima.



Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×