Teradata - operatory logiczne i warunkowe

Teradata obsługuje następujące operatory logiczne i warunkowe. Te operatory służą do porównywania i łączenia wielu warunków.

Składnia Znaczenie
> Lepszy niż
< Mniej niż
>= Większe bądź równe
<= Mniejszy lub równy
= Równy
BETWEEN Jeśli wartości mieszczą się w zakresie
IN Jeśli wartości w <expression>
NOT IN Jeśli wartości nie znajdują się w <wyrażeniu>
IS NULL Jeśli wartość jest równa NULL
IS NOT NULL Jeśli wartość NIE jest NULL
AND Połącz wiele warunków. Zwraca wartość true tylko wtedy, gdy wszystkie warunki są spełnione
OR Połącz wiele warunków. Zwraca wartość true tylko wtedy, gdy jeden z warunków jest spełniony.
NOT Odwraca znaczenie warunku

POMIĘDZY

Polecenie BETWEEN służy do sprawdzania, czy wartość mieści się w zakresie wartości.

Przykład

Rozważ poniższą tabelę pracowników.

Pracownik numer Imię Nazwisko JoinedDate DepartmentNo Data urodzenia
101 Mikrofon James 27.03.2005 1 05.01.1980
102 Robert Williams 25.04.2007 2 05.03.1983
103 Piotr Paweł 21.03.2007 2 01.04.1983
104 Alex Stuart 01.02.2008 2 06.11.1984
105 Robert James 1/4/2008 3 01.12.1984

Poniższy przykład pobiera rekordy z numerami pracowników z zakresu od 101,102 do 103.

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

Po wykonaniu powyższego zapytania zwraca rekordy pracowników z numerem pracownika od 101 do 103.

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

W

Polecenie IN służy do sprawdzenia wartości z podaną listą wartości.

Przykład

Poniższy przykład pobiera rekordy z numerami pracowników 101, 102 i 103.

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

Powyższe zapytanie zwraca następujące rekordy.

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

NIE W

Polecenie NOT IN odwraca wynik polecenia IN. Pobiera rekordy z wartościami, które nie pasują do podanej listy.

Przykład

Poniższy przykład pobiera rekordy z numerami pracowników spoza 101, 102 i 103.

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

Powyższe zapytanie zwraca następujące rekordy.

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