Терадата - логические и условные операторы
Teradata поддерживает следующие логические и условные операторы. Эти операторы используются для сравнения и объединения нескольких условий.
Синтаксис | Имея в виду |
---|---|
> | Лучше чем |
< | Меньше, чем |
>= | Больше или равно |
<= | Меньше или равно |
= | Равно |
BETWEEN | Если значения в пределах диапазона |
IN | Если значения в <выражение> |
NOT IN | Если значения не в <выражение> |
IS NULL | Если значение NULL |
IS NOT NULL | Если значение НЕ NULL |
AND | Объедините несколько условий. Возвращается как истина, только если выполнены все условия |
OR | Объедините несколько условий. Возвращает значение true, только если выполняется одно из условий. |
NOT | Изменяет смысл условия |
МЕЖДУ
Команда BETWEEN используется для проверки того, находится ли значение в пределах диапазона значений.
пример
Рассмотрим следующую таблицу сотрудников.
Работник № | Имя | Фамилия | Дата присоединения | Отдел Нет | День рождения |
---|---|---|---|---|---|
101 | Майк | Джеймс | 27.03.2005 | 1 | 05.01.1980 |
102 | Роберт | Уильямс | 25.04.2007 | 2 | 05.03.1983 |
103 | Питер | Павел | 21.03.2007 | 2 | 01.04.1983 |
104 | Alex | Стюарт | 01.02.2008 | 2 | 06.11.1984 |
105 | Роберт | Джеймс | 04.01.2008 | 3 | 01.12.1984 |
В следующем примере выполняется выборка записей с номерами сотрудников в диапазоне от 101,102 до 103.
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo BETWEEN 101 AND 103;
При выполнении вышеуказанного запроса он возвращает записи о сотрудниках с номерами сотрудников от 101 до 103.
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
----------- ------------------------------
101 Mike
102 Robert
103 Peter
В
Команда IN используется для проверки значения по заданному списку значений.
пример
В следующем примере выполняется выборка записей с номерами сотрудников в 101, 102 и 103.
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo in (101,102,103);
Приведенный выше запрос возвращает следующие записи.
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
----------- ------------------------------
101 Mike
102 Robert
103 Peter
НЕ В
Команда NOT IN изменяет результат команды IN. Он выбирает записи со значениями, не соответствующими заданному списку.
пример
В следующем примере извлекаются записи с номерами сотрудников, которых нет в 101, 102 и 103.
SELECT * FROM
Employee
WHERE EmployeeNo not in (101,102,103);
Приведенный выше запрос возвращает следующие записи.
*** Query completed. 2 rows found. 6 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName LastName
----------- ------------------------------ -----------------------------
104 Alex Stuart
105 Robert James