Loading:

Książka Zend Framework 3. Poradnik Programisty.

Podzapytania z ALL - MySQL

Składnia:

 

argument   operator_porównania   ALL   (podzapytanie)

 

 

Słowo ALL które musi wystąpić po operatorze porównania, znaczy: zwróć prawdę (TRUE) jeśli porównanie jest prawdziwe dla wszystkich wierszy, które zwraca podzapytanie.

 

Na przykład patrz listing 1.0.

 

 

Przypuśćmy, że w tablicy tab1 jest wiersz zawierający wartość (10) w kolumnie col1. Powyższe wyrażenie jest prawdziwe (TRUE) jeśli tablica tab2 zawiera (-5,0,+5), gdyż oczywiście 10 jest większe od każdej z tych trzech wartości tablicy tab2. Wyrażenie to będzie nieprawdziwe (FALSE jeśli tablica tab2 zawiera (12,6,NULL,-100), gdyż wartość 12 z tablicy tab2 jest większe od 10. Powyższe wyrażenie ma wartość UNKNOWN jeśli tablica tab2 zawiera (0,NULL,1)


Ponadto, jeśli tablica tab2 jest pusta, to wynikiem powyższego zapytania będzie TRUE. Można by się spodziewać, że wynik powinien być UNKNOWN, jednak w tym wypadku wynik jest zawsze TRUE. Tak więc w przykładzie z listingu 2.0 wynik jest równy TRUE


 

Natomiast poniższe wyrażenie ma wartość UNKNOWN jeśli tab2 jest pusta: listing 3.0.

 

Ponadto, następujące wyrażenie ma wartość UNKNOWN jeśli tab2 jest pusta:listing 4.0.



Napisz Artykuł

Listing

--Listing 1.0
SELECT col1 FROM tab1 WHERE col1 > ALL (SELECT col1 FROM tab2);

--Listing 2.0 - wynik równy TRUE
SELECT * FROM tab1 WHERE 1 > (SELECT col1 FROM tab2);

-Listing 3.0 - wynik równy UNKNOWN
SELECT * FROM tab1 WHERE 1 > (SELECT col1 FROM tab2);

-Listing 4.0 - wynik równy UNKNOWN
SELECT * FROM tab1 WHERE 1 > ALL (SELECT MAX(col1) FROM tab2);


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=5210

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37169
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors