Podzapytanie
wielowierszowe
Podzapytania wielowierszowe zwracają jeden wiersz lub
kilka wierszy do zapytania zewnętrznego. Zapytanie zewnętrzne możne obsługiwać
podzapytania zwracające wiele wierszy za pomocą operatorów IN, ANY, SOME oraz ALL.
Możemy użyć tych operatorów do sprawdzenia, czy wartość z kolumny znajduje się
na liście wartości.
Użycie operatora
IN z podzapytaniem wielowierszowym
Operator IN pozwala
sprawdzić, czy wartość znajduje się na konkretnej liście wartości, która jest
wynikiem zwróconym przez podzapytanie. Możemy również wykonać logiczne
zaprzeczenie IN, stosując operator NOT IN, co pozwala sprawdzić, czy
wartość nie znajduje się na określonej liście wartości. W poniższym przykładnie
użyto operatora IN do sprawdzenia,
czy emp_no znajduje się na liście
wartości zwróconej przez podzapytanie. Zwraca ono wartości emp_no pracowników, których imię zaczyna się od litery C:
W kolejnym przykładzie użyto operatora NOT IN, aby pobrać dane o pracownikach,
którzy nie znajdują się w tabeli employee_project:
Użycie operatorów ANY
i SOME z podzapytaniem wielowierszowym
Operatory ANY oraz
SOME służą do porównywania wartości z
którąkolwiek z wartości na liście. Należy przed nimi umieścić operator
porównania =, <>, <, >, <=
lub >=. W poniższym
przykładzie użyto operatora ANY do pobrania
pracowników, których wynagrodzenie jest większe od któregokolwiek z maksymalnych
wynagrodzeń w poszczególnych krajach w tabeli job_country:
Poniższe zapytanie przestawia ten sam rezultat przy
użyciu operatora SOME. Operatory ANY oraz SOME mogą być używane zamiennie.
Użycie operatora ALL
z podzapytaniem wielowierszowym
Operatory ALL służy
do porównywania wartości z każdą z wartości na liście. Należy przed nimi
umieścić operator porównania =, <>,
<, >, <= lub >=. W
poniższym przykładzie użyto operatora ALL
do pobrania pracowników, których wynagrodzenie jest mniejsze od maksymalnych
wynagrodzeń w poszczególnych krajach w tabeli job_country:
Brak komentarzy:
Prześlij komentarz