Składnia:
argument operator_porównania ANY (podzapytanie)
argument IN (podzapytanie)
argument operator_porównania SOME (podzapytanie)
Słowo kluczowe ANY, które musi wystąpić po operatorze porównującym, oznacza zwróć TRUE jeśli w wyniku porównania otrzymamy TRUE dla któregokolwiek z wierszy zwróconych przez podzapytanie,
Na przykład:
SELECT s1 FROM tab1 WHERE s1 > ANY (SELECT s1 FROM tab2);
Przypuśćmy, że jest wiersz w tabeli t2, kóry zawiera (10). Wyrażenie powyższe jest wtedy równe TRUE, gdy tablica t2 zawiera (21,14,7), gdyż w t2 jest wartość 7, która jest mniejsza od 10. Powyższe wyrażenie jest równe FALSE, gdy tablica t2 zawiera (20,10), lub gdy tablica t2 jest pusta. Wyrażenie ma wartość UNKNOWN jeśli tablica t2 zawiera (NULL,NULL,NULL).
Słowo IN jest skrótem od = ANY. Zatem dwa poniższe wyrażenia są równoważne:
SELECT s1 FROM tab1 WHERE s1 = ANY (SELECT s1 FROM tab2);
SELECT s1 FROM tab1 WHERE s1 IN (SELECT s1 FROM tab2);
Słowo SOME jest skrótem od słowa ANY. Zatem dwa poniższe wyrażenia są równoważne:
SELECT s1 FROM tab1 WHERE s1 <> ANY (SELECT s1 FROM tab2);
SELECT s1 FROM tab1 WHERE s1 <> SOME (SELECT s1 FROM tab2);
Listing
Ranga: Administrator serwisu Punktów: 0