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