Teradata - Operatori logici e condizionali

Teradata supporta i seguenti operatori logici e condizionali. Questi operatori vengono utilizzati per eseguire il confronto e combinare più condizioni.

Sintassi Senso
> Più grande di
< Meno di
>= Maggiore o uguale a
<= Minore o uguale a
= Uguale a
BETWEEN Se i valori rientrano nell'intervallo
IN Se i valori in <espressione>
NOT IN Se i valori non sono in <espressione>
IS NULL Se il valore è NULL
IS NOT NULL Se il valore è NON NULL
AND Combina più condizioni. Restituisce true solo se tutte le condizioni sono soddisfatte
OR Combina più condizioni. Restituisce true solo se una delle condizioni è soddisfatta.
NOT Inverte il significato della condizione

FRA

Il comando BETWEEN viene utilizzato per verificare se un valore rientra in un intervallo di valori.

Esempio

Considera la seguente tabella dei dipendenti.

EmployeeNo Nome di battesimo Cognome JoinedDate DepartmentNo Data di nascita
101 Mike James 27/3/2005 1 1/5/1980
102 Roberto Williams 4/25/2007 2 3/5/1983
103 Peter Paolo 21/03/2007 2 4/1/1983
104 Alex Stuart 2/1/2008 2 11/6/1984
105 Roberto James 1/4/2008 3 12/1/1984

L'esempio seguente recupera i record con i numeri dei dipendenti compresi nell'intervallo tra 101,102 e 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo BETWEEN 101 AND 103;

Quando la query precedente viene eseguita, restituisce i record dei dipendenti con un numero di dipendenti compreso tra 101 e 103.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

IN

Il comando IN viene utilizzato per verificare il valore rispetto a un determinato elenco di valori.

Esempio

L'esempio seguente recupera i record con i numeri dei dipendenti in 101, 102 e 103.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo in (101,102,103);

La query precedente restituisce i seguenti record.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

NON IN

Il comando NOT IN inverte il risultato del comando IN. Recupera i record con valori che non corrispondono all'elenco fornito.

Esempio

L'esempio seguente recupera i record con i numeri dei dipendenti non in 101, 102 e 103.

SELECT * FROM  
Employee 
WHERE EmployeeNo not in (101,102,103);

La query precedente restituisce i seguenti record.

*** Query completed. 2 rows found. 6 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo          FirstName                      LastName 
----------- ------------------------------ -----------------------------    
    104                Alex                          Stuart 
    105                Robert                        James