Арифметические операциипредставлены двумя группами операций:
1) унарные +, –
2) бинарные +, –, *, /
Арифметические операции используются в выражениях для изменения знака операнда, сложения, вычитания, умножения и деления числовых величин. Унарные операции оперируют только с одним операндом, бинарные требуют при своем использовании два операнда.
Операции над строками. В этой группе операций имеется только одна операция – операция сцепления строк. Для ее обозначения используется комбинация двух символов – вертикальная черта ( || ).
Операции сравнения.Применяются в основном в операторах DML при построении простых условий проверки для сравнения значения одного выражения со значением другого выражения. Результатом сравнения может быть либо TRUE, либо FALSE, либо UNKNOWN. Значение UNKNOWN может появиться в результате сравнения значений двух выражений, если одно из выражений или они оба имели значение NULL. Над значениями двух выражений Х и Y могут быть выполнены следующие операции сравнения:
X = Y – проверка значений выражений X и Y на равенство; результат равен TRUE, если указанное соотношение выполняется;
X != Y, X<>Y, X ^= Y – проверка значений выражений X и Y на неравенство; результат равен TRUE, если указанное соотношение выполняется;
X < Y, X > Y, X >= Y, X <= Y – проверка значений выражений X и Y на соотношение «меньше, чем», «больше чем», «больше или равно», «меньше или равно»; результат равен TRUE, если указанное соотношение выполняется;
X [NOT] BETWEEN A AND B – проверка, [не] находится ли значение выражения Х в указанном диапазоне, определяемом значениями выражений A и B; результат равен TRUE, если указанное соотношение выполняется;
X IN (список выражений | подзапрос) – проверка значения выражения X на равенство некоторому элементу из списка значений выражений или множества значений, возвращенных подзапросом; результат равен TRUE, если указанное соотношение выполняется хотя бы для одного элемента списка выражений или множества значений, возвращенных подзапросом;
X NOT IN (список выражений | подзапрос) – проверка значения выражения X на неравенство ни одному элементу из списка значений выражений или множества значений, возвращенных подзапросом; результат равен TRUE, если указанное соотношение выполняется для всех элементов списка выражений или множества значений, возвращенных подзапросом;
X LIKE Z – проверка значения выражения Х на подобие, результат проверки равен TRUE, если X совпадает с шаблоном Z. Шаблон представляет собой символьную строку, внутри которой символ '%' используется для сопоставления с любой строкой из нуля или более символов, кроме NULL – строки, а символ подчеркивания ('_') сопоставляется с любым одиночным символом;
Х IS [NOT] NULL – проверка значения выражения Х на [не] пустое значение NULL; результат равен TRUE, если указанное соотношение выполняется;
Операция сравнения с квантором ANY позволяет сравнивать проверяемое значение со всеми элементами из заданного списка значений выражений или множества значений, возвращенных подзапросом; результат проверки равен TRUE, если указанная операция сравнения (=, !=, >, <, >=, <=) выполняется хотя бы для одного элемента списка выражений или множества значений, возвращенных подзапросом;
Операция сравнения с квантором ALL позволяет сравнивать проверяемое значение со всеми элементами из заданного списка значений выражений или множества значений, возвращенных подзапросом; результат проверки равен TRUE, если указанная операция сравнения (=, !=, >, <, >=, <=) выполняется для всех элементов списка выражений или множества значений, возвращенных подзапросом;
Операция сравнения EXISTS проверяет результат выполнения подзапроса; результат проверки равен TRUE, если подзапрос возвращает не пустое множество значений.
Логические операции. Представлены стандартными логическими операциями: NOT, AND, OR, используемыми при построении сложных условий проверки, в которых простые условия объединяются в более сложное условие с помощью логических операций.
Логические операции выполняются в трехзначной логике, которая задается следующими таблицами истинности:
OR
True
False
Unknown
True
True
True
True
False
True
False
Unknown
Unknown
True
Unknown
Unknown
AND
True
False
Unknown
True
True
False
Unknown
False
False
False
False
Unknown
Unknown
False
Unknown
NOT
True
False
Unknown
False
True
Unknown
Операции над множествами. Позволяют выполнить определенные действия над выбираемыми в результате выполнения одного или нескольких запросов группами строк. Естественно, что структуры этих строк должны совпадать по количеству, порядку расположения и типу данных входящих в них элементов. К ним относятся следующие операции:
UNION ALL – объединяет все строки, извлеченные одним или несколькими запросами, включая повторяющиеся;
UNION – объединяет все строки, извлеченные одним или несколькими запросами, с устранением дублирующих строк;
INTERSECT – объединяет только те строки, которые присутствуют в результатах выполнения каждого из запросов, с устранением дублирующих строк;
MINUS – объединяет все неповторяющиеся строки, извлеченные первым запросом, но не извлеченные вторым.
Другие операции.Класс других операций содержит две операции: операцию внешнего соединения (+) и специальную операцию PRIOR.
Операция внешнего соединения используется при выборе информации из нескольких таблиц в том случае, если из одной таблицы необходимо выбрать все строки, а из остальных таблиц только те строки, для которых выполняются определенные условия.
Операция PRIOR устанавливает взаимосвязь между родительскими и дочерними строками при построении иерархических запросов.