BD-1st-2.4-lab5.tresc-1.1-Slajd18
Podzapytania skorelowane (1)
Rozpoczniemy teraz omawianie odmiennie wykonywanej grupy podzapytań, tzw. podzapytań skorelowanych. Przypomnijmy – poprzednie podzapytania, nazwijmy je terminem „zwykłe”, były wykonywane tylko jeden raz. Tymczasem podzapytania skorelowane wykonują się wielokrotnie – tyle razy, ile rekordów przegląda zapytanie zewnętrzne. Wyjaśnienia wymaga termin „przegląda”. Zapytanie zewnętrzne przegląda rekordy, pobierając je z relacji z bazy danych. Jeśli dla przeglądanego rekordu wszystkie warunki, zdefiniowane w zapytaniu, są spełnione, taki rekord trafia do zbioru wynikowego. Czyli liczba rekordów przeglądanych przez zapytanie nie zawsze jest równa liczbie rekordów w zbiorze wynikowym.
Cechą charakterystyczną podzapytań skorelowanych jest odwołanie wewnątrz podzapytania, najczęściej w warunku, do atrybutu z relacji, którą przegląda zapytanie zewnętrzne. To odwołanie nosi nazwę korelacji.
Bieżący slajd przedstawia ogólny schemat konstrukcji zapytań z podzapytaniem skorelowanym. Widzimy, że schemat nie różni się zbytnio od schematów zapytań ze zwykłymi podzapytaniami, różnicą jest obecność korelacji w podzapytaniu – użycie wyrażenia_A3 w warunku podzapytania. Wyrażenie_A3 pochodzi z rekordu przeglądanego przez zapytanie zewnętrzne.