Czytam oracle documentation na DOWOLNYM i WSZYSTKIM operatorze. Rozumiem ich zastosowania, z wyjątkiem jednej rzeczy. Stwierdza:ALL operator VS Dowolny na pustym zapytaniu
WSZYSTKIE:
Jeżeli podzapytanie zwraca zera wierszy, warunek jest prawdziwy.
ANY:
Jeżeli podzapytanie zwraca zera wierszy, stan FALSE.
Nie wydaje mi się to zbyt logiczne. Dlaczego ALL na pustym podzapytaniu zwróci wartość PRAWDA, ale KAŻDY zwróci FALSE?
Jestem względnie nowy w SQL, więc zakładam, że byłby to przypadek użycia dla tego zachowania, który jest dla mnie bardzo intuicyjny.
WSZYSTKIE i WSZYSTKIE na pustym zestawie powinny zwracać tę samą wartość, nie?
Warto wspomnieć o przykładzie: Jeśli masz sprawdzenie, jak "EmpSalary> ALL" (wybierz wynagrodzenie from someTable) 'jeśli nie ma żadnych wierszy na' select payary from someTable', to znaczy, że wartość jest większa niż "wszystkie wartości (nawet jeśli nie istnieją)" :) –