BD-1st-2.4-lab5.tresc-1.1-Slajd21

Z Studia Informatyczne
Wersja z dnia 07:26, 10 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Operator EXISTS

Operator EXISTS


Nowym operatorem, używanym jedynie w zapytaniach z podzapytaniami skorelowanymi, jest operator EXISTS. Operator ten zwraca wartość prawdy wtedy, gdy następujące zaraz za nim podzapytanie zwróci przynajmniej jeden rekord. Nie są przy tym ważne wartości, jakie ten rekord zawiera. W pierwszym zaprezentowanym na slajdzie przykładzie zapytanie zewnętrzne przegląda rekordy z relacji PRACOWNICY. Dla każdego rekordu wykonywane jest podzapytanie skorelowane, w którym poszukiwane są dane o wszystkich pracownikach, którzy w atrybucie ID_SZEFA mają wartość równą wartości atrybutu ID_PRAC z zapytania zewnętrznego (czyli podzapytanie szuka po prostu podwładnych pracownika, aktualnie przeglądanego przez zapytanie zewnętrzne). Jeśli podzapytanie zwróci rekord, operator EXISTS przyjmie wartość prawdy i bieżący rekord zapytania zewnętrznego trafi do zbioru wynikowego. Będzie to rekord opisujący pracownika, który posiada przynajmniej jednego podwładnego.

To samo zapytanie zaprezentowano w drugim przykładzie, zastępując w podzapytaniu symbol * (odczyt wszystkich atrybutów) literałem 1. Nie zmienia to w żaden sposób wyniku zapytania.


<< Poprzedni slajd | Spis treści | Następny slajd >>