Pl sql union: UNION ОПЕРАТОР — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite
Содержание
Разница между Union и Union All в базе данных Oracle
Javainhand
13 июля 2020 г.
В этом учебнике по SQL мы рассмотрим разницу между Union и Union All в Oracle .
Прежде чем мы продолжим этот пост, мы должны знать об операторах набора в Oracle SQL .
В Oracle SQL операторы набора подразделяются на четыре категории.
- Союз
- Союз ВСЕ
- Пересечение
- Минус
Сегодня мы рассмотрим различий между Union и Union ALL в базе данных Oracle .
Что такое Union в Oracle SQL?
Union — это оператор множества в Oracle SQL. Он используется для отображения результатов из нескольких таблиц после удаления совпадающей строки.
Синтаксис оператора Union Set в Oracle SQL
SELECT COLUMN1,COLUMN2 FROM TABLE_NAME —YOUR TABLE NAME—
UNION
SELECT COLUMN1,COLUMN2 F ROM TABLE_NAME —ВАШЕ ИМЯ СТОЛА—
Пример оператора Union Set в Oracle SQL
ВЫБЕРИТЕ EMPNO, ENAME FROM EMP1
UNION
Прежде чем мы перейдем к приведенному выше примеру, давайте посмотрим на нашу таблицу базы данных. структура и вставленные данные, тогда вы будете лучше понимать.
См. следующую структуру таблицы со снимком экрана:
См. следующие существующие вставленные данные со снимком экрана:
После выполнения вышеуказанного запроса см. приведенный ниже снимок экрана, который поможет вам лучше понять.
Мы нашли 5 записей после выполнения запроса, потому что у оператора Union Set есть свойство удалять повторяющиеся строки.
Что такое Union ALL в Oracle SQL ?
Union ALL — это оператор множества в Oracle SQL. Он используется для отображения результатов из нескольких таблиц без удаления совпадающих строк.
Синтаксис оператора Union Set в Oracle SQL
SELECT COLUMN1,COLUMN2 FROM TABLE_NAME —YOUR TABLE NAME—
UNION ALL
SELECT COLUMN1,COLUMN2 FROM TABLE_NAME — YOUR TABLE NAME—
Пример оператора Union Set в Oracle SQL
SELECT EMPNO, ENAME F ПЗУ EMP1
СОЕДИНЕНИЕ ВСЕ
SELECT DEPTNO, DNAME FROM DEPT1
мы будем использовать приведенную выше таблицу для выполнения оператора UNION ALL SQL. Давайте посмотрим на следующий результат после использования оператора множества UNION ALL.
Теперь вы можете видеть на снимке экрана выше, что мы находим 6 записей из-за свойства оператора UNION ALL set.
- Объединение удаляет повторяющиеся данные перед возвращаемым результатом, а ОБЪЕДИНЕНИЕ ВСЕ не удаляет повторяющиеся данные перед результатом.
- Объединение является результатом сортировки после удаления совпавших строк, а объединение ВСЕ не является результатом сортировки.
- Union получает медленные данные, потому что для фильтрации данных перед возвратом результата в то время как Union All извлекается быстрые данные.
Правила: —
- Всякий раз, когда вам нужно использовать оператор union или union all set, количество столбцов должно быть одинаковым.
- Всякий раз, когда вам нужно использовать оператор union или union all set, типы данных столбцов должны быть одинаковыми.
- Order by будет использоваться в конце запроса.
Теперь мы возьмем несколько примеров, которые помогут понять вышеизложенные пункты.
Пример 1 :-
Выбрать empno,ename из EMP1
union all
Выбрать deptno из DEPT1;
После выполнения приведенного выше оператора возникает ошибка (ORA-01789: блок запроса имеет неправильное количество столбцов результатов).
Пример 2 :-
Выбрать имя из EMP1
объединить все
Выбрать номер отдела из DEPT1;
После выполнения приведенного выше оператора возникает ошибка (ORA-01790: выражение должно иметь тот же тип данных, что и соответствующее выражение).
Пример 3 :- Использование заказа по
Выберите empno,ename из EMP1
union
выберите deptno,dept_name из DEPT1
заказ по EMPNO;
Думаю, на сегодня все ( Разница между Union и Union ALL в Oracle Database ) пост поможет вам лучше понять.
Если вам понравился пост, пожалуйста, поделитесь своим ценным комментарием в разделе комментариев.
Oracle SQL и PL/SQL: вопросы с несколькими вариантами ответов
Вопросы с несколькими вариантами ответов — UNION ALL
Вопросы с несколькими вариантами ответов — UNION ALL
Ниже приведены восемь вопросов с несколькими вариантами ответов по SQL Union All.
1.
Стол B
ID |
---|
1 |
2 |
3 |
Таблица C
ID |
---|
4 |
5 |
6 |
Ниже запрос выполняется для обеих приведенных выше таблиц:
Выберите * из C Союз Выберите * из B Союз всех Выберите * из C Союз всех Выберите * из B
Что будет результатом запроса:
А)
ID |
---|
1 |
2 |
3 |
4 |
5 |
6 |
4 |
6 |
1 |
2 |
3 |
Б)
ID |
---|
1 |
2 |
3 |
4 |
5 |
6 |
С)
ID |
---|
1 |
2 |
3 |
4 |
5 |
6 |
4 |
5 |
6 |
1 |
2 |
3 |
Д)
ID |
---|
1 |
2 |
3 |
4 |
5 |
6 |
4 |
5 |
6 |
4 |
5 |
6 |
2.
Что касается UNION ALL, какой из них, по вашему мнению, является правильным синтаксисом: A, B или оба
A)
Выберите * из B Упорядочить по идентификатору desc Союз всех Выберите * из C Упорядочить по идентификатору desc
Б)
Выберите * из B Союз всех Выберите * из C Упорядочить по идентификатору desc
3.
Стол B
ID |
---|
1 |
2 |
3 |
Ниже выполняется запрос:
Выберите * из B Союз всех Выберите ноль
Что будет результатом вышеуказанного запроса:
А)
ID |
---|
1 |
2 |
3 |
Б)
Сообщение об ошибке будет отображаться как
C)
ID |
---|
1 |
2 |
3 |
НУЛЕВОЙ |
Д)
ID |
---|
НУЛЕВОЙ |
2 |
3 |
1 |
4.
Union All эффективнее, чем Union.
А) Верно
Б) Ложно
5.
Вы можете объединять таблицы в секционированном представлении с помощью оператора Union All, который заставляет данные из отдельных таблиц отображаться так, как если бы они были одной таблицей. Эти таблицы в операторе SELECT представления должны соответствовать некоторым ограничениям, таким как: Таблица может отображаться. . . . . . в рамках заявления Союза Всех.
A) только два раза
B) как можно больше раз
C) только три раза
D) только один раз
6.
Каков будет результат выполнения приведенного ниже запроса UNION ALL:
Выбрать нуль Союз всех Выберите ноль
А) появится сообщение об ошибке.
Б)
(без имени столбца) |
---|
НУЛЕВОЙ |
НУЛЕВОЙ |
C) Будет выброшено исключение
D)
(без имени столбца) |
---|
НУЛЕВОЙ |
7.
1.
ВЫБРАТЬ '1' КАК полосу ОБЪЕДИНЕНИЕ ВЫБРАТЬ '1' КАК полосу союз всех SELECT '1' AS bar UNION SELECT '1' AS bar
2.
ВЫБРАТЬ '1' КАК полосу ОБЪЕДИНЕНИЕ ВСЕ ВЫБРАТЬ '1' КАК полосу Союз SELECT '1' AS bar UNION ALL SELECT '1' AS bar
Что будет результатом выполнения вышеуказанных запросов:
А)
1.
2.
Бар |
---|
1 |
1 |
Б)
1.
Бар |
---|
1 |
1 |
2.
В)
1.
2.
Г)
1.
Бар |
---|
1 |
1 |
2.
Бар |
---|
1 |
1 |
8.