Сервер Oracle и Операторы Множества
Дублирующиеся строки автоматически устраняются, кроме оператора
UNION ALL
.Имена столбцов из первого запроса появляются в результате.
Вывод сортируется в порядке возрастания по умолчанию, кроме оператора
UNION ALL
.
Когда запрос использует операторы множества, сервер Oracle устраняет дублирующиеся строки автоматически, кроме как в случае с оператором UNION ALL
. Имена столбцов в выводе определяются списком столбцов в первом операторе SELECT
. По умолчанию вывод сортируется в порядке по возрастанию первого столбца предложения SELECT
.
Соответствующие выражения в списках SELECT
составных запросов должны соответствовать по количеству и типу данных. Если составные запросы выбирают символьные данные, тип данных возвращаемых значений определяется следующим образом:
Если оба запроса выбирают значения типа данных
CHAR
равной длины, возвращенные значения имеют тип данныхCHAR
той же длины. Если запросы выбирают значенияCHAR
с различными длинами, возвращенное значение имеет типVARCHAR2
с длиной бОльшего значенияCHAR
.Если любой или оба из запросов выбирают значения типа данных
VARCHAR2
, возвращенные значения имеют тип данныхVARCHAR2
.
Если составные запросы выбирают числовые данные, тип данных возвращаемых значений определяется числовым приоритетом. Если все запросы выбирают значения типа NUMBER
, возвращенные значения имеют тип данных NUMBER
. В запросах, использующих операторы множества, сервер Oracle не выполняет неявное преобразование через группы типов данных. Поэтому, если соответствующие выражения составных запросов разрешаются как к символьным данным, так и к числовым данным, сервер Oracle возвращает ошибку.