Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Podupit je izraz SELECT ugnežđen unutar odredbi SELECT, SELECT... U, UMETNI... Izraz INTO, DELETE ili UPDATE ili unutar drugog podupita.

Sintaksa

Možete da koristite tri oblika sintakse da biste kreirali podupit:

poređenje [ANY | SVE | SOME] (sqlstatement)

expression [NOT] IN (sqlstatement)

[NE] EXISTS (sqlstatement)

Podupit ima sledeće delove:

Deo

Opis

Poređenja

An izraz i operator poređenja koji poredi izraz sa rezultatima podupita.

izraz

Izraz za koji se pretražuje skup rezultata podupita.

sqlstatement

Izraz SELECT koji prati isti format i pravila kao bilo koji drugi select izraz. Mora da bude u zagradama.


Napomene

Podupit možete da koristite umesto izraza na listi polja izraza SELECT ili u odredbi WHERE ili HAVING. U podupitu koristite izraz SELECT da biste obezbedili skup nekih određenih vrednosti za procenu u izrazu odredbe WHERE ili HAVING.

Koristite predikat ANY ili SOME, koji su sinonimi, da biste preuzeli zapise u glavnom upitu koji zadovoljavaju poređenje sa zapisima preuzetim u podupitu. Sledeći primer daje sve proizvode čija je jedinična cena veća od cene bilo kog proizvoda prodatog uz popust od 25 procenata ili više:

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

Koristite predikat ALL da biste preuzeli samo one zapise u glavnom upitu koji zadovoljavaju poređenje sa svim zapisima preuzetim u podupitu. Ako ste u prethodnom primeru promenili ANY na ALL, upit će vratiti samo one proizvode čija je jedinična cena veća od cene svih proizvoda prodatih uz popust od 25 procenata ili više. Ovo je mnogo restriktivnije.

Koristite predikat IN da biste preuzeli samo one zapise u glavnom upitu za koje neki zapisi u podupitu sadrže jednaku vrednost. Sledeći primer daje sve proizvode sa popustom od 25 procenata ili više:

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

Nasuprot toga, funkciju NOT IN možete da koristite da biste preuzeli samo one zapise u glavnom upitu za koje nijedan zapis u podupitu ne sadrži jednaku vrednost.

Koristite predikat EXISTS (sa opcionalnom NOT rezervisanom rečju) u tačno/netačnim poređenjima da biste utvrdili da li podupit vraća neke zapise.

Pseudonime imena tabele možete da koristite i u podupitu da biste uputili na tabele navedene u odredbi FROM izvan podupita. Sledeći primer daje imena zaposlenih čije su plate jednake ili veće od prosečne plate svih zaposlenih koji imaju isto radno mesto. Tabeli "Zaposleni" je dat 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 primeru, polje AS rezervisana reč opcionalno.

Neki podupiti su dozvoljeni u unakrsnim upitima – tačnije, kao predikati (oni u odredbi WHERE). Podupiti kao izlaz (oni na listi SELECT) nisu dozvoljeni u unakrsnim upitima.



Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×