Omówienie podzapytania
Podzapytanie to instrukcja SELECT zagnieżdżona w ramach innego zapytania. Możliwość zagnieżdżania jednego zapytania w innym zwiększa możliwość tworzenia skutecznych zapytań w języku T-SQL. Ogólnie rzecz biorąc, podzapytania są oceniane raz i dostarczają wyniki do zapytania zewnętrznego.
Praca z podzapytaniami
Podzapytanie jest instrukcją SELECT zagnieżdżoną lub osadzoną w innym zapytaniu. Zagnieżdżone zapytanie, czyli podzapytanie, jest nazywane zapytaniem wewnętrznym. Zapytanie zawierające zapytanie zagnieżdżone jest zapytaniem zewnętrznym.
Celem podzapytania jest zwrócenie wyników do zapytania zewnętrznego. Formularz wyników określi, czy podzapytywanie jest podzapytaniem skalarnym, czy wielowartościowym:
- Podzapytania skalarne zwracają pojedynczą wartość. Zapytania zewnętrzne muszą przetwarzać pojedynczy wynik.
- Podzapytania wielowartych zwracają wynik podobnie jak jednokolumna tabela. Zapytania zewnętrzne muszą mieć możliwość przetwarzania wielu wartości.
Oprócz wyboru między podzapytaniami skalarnymi i wielowartymi podzapytaniami podzapytania mogą być samodzielne lub mogą być skorelowane z zapytaniem zewnętrznym:
- Samodzielne podzapytania można zapisywać jako autonomiczne zapytania bez zależności od zapytania zewnętrznego. Samodzielne podzapytywanie jest przetwarzane raz, gdy zapytanie zewnętrzne jest uruchamiane i przekazuje wyniki do tego zapytania zewnętrznego.
- Skorelowane podzapytania odwołują się do co najmniej jednej kolumny z zapytania zewnętrznego i dlatego zależą od niej. Skorelowane podzapytania nie mogą być uruchamiane oddzielnie od zapytania zewnętrznego.