Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Наборы, совместимые для объединения
Наборы, совместимые для объединения
Для каждой операции SELECT, создающей входной поток для UNION, спецификация должна содержать список столбцов, одинаковый для всех других операций (количество и порядок столбцов) с соответствующими типами данных. Предположим, мы имеем следующие спецификации двух таблиц:
CREATE TABLE CURRENT_TITLES (
ID INTEGER NOT NULL,
TITLE VARCHAR(60) NOT NULL,
AUTHOR_LAST_NAME VARCHAR (40),
AUTHOR_FIRST_NAMES VARCHAR(60),
EDITION VARCHAR(10) ,
PUBLICATION_DATE DATE,
PUBLISHER_ID INTEGER,
ISBN VARCHAR(15) ,
LIST_PRICE DECIMAL(9,2));
/**/
CREATE TABLE PERIODICALS (
PID INTEGER NOT NULL,
PTITLE VARCHAR(60) NOT NULL,
EDITOR_LAST_NAME VARCHAR(40),
EDITOR_FIRST_NAMES VARCHAR (60),
ISSUE_NUMBER VARCHAR (10),
PUBLICATION_DATE DATE,
PUBLISHER_ID INTEGER,
LIST_PRICE DECIMAL (9, 2) ) ;
Эти таблицы совместимы для объединения, потому что мы можем создать запрос для получения наборов с соответствующей "геометрией":
SELECT ID,
TITLE,
AUTHOR_LAST_NAME,
AUTHOR_FIRST_NAMES,
EDITION VARCHAR (10),
LIST_PRICE
FROM CURRENT_TITLES
UNION SELECT
ID,
TITLE,
EDITOR_LAST_NAME,
EDITOR_FIRST_NAMES,
ISSUE_NUMBER,
LIST_PRICE
FROM PERIODICALS;
UNION, содержащий SELECT * FROM таблица, не будет работать, поскольку структуры таблиц различны - вторая таблица не содержит колонки ISBN.
- Виды многотабличных запросов
- Соединения
- Подзапросы
- Запросы UNION
- Соединения
- Внутреннее соединение
- Внешние соединения
- Перекрестные соединения
- Естественные соединения
- Двусмысленность в запросах JOIN
- Алиасы таблиц
- Внутренний курсор
- Реентерабельные соединения
- Подзапросы
- Задание столбца при использовании подзапроса
- Поиск с использованием подзапроса
- Добавление данных с использованием подзапроса с соединениями
- Оператор UNION
- Наборы, совместимые для объединения
- Использование столбцов времени выполнения в объединениях
- Условия поиска и упорядочивания
- Реентерабельные запросы UNION
- UNION ALL
- Темы оптимизации: планы запросов и оптимизатор
- Удобная операция объединения строк
- 1. Операции объединения, пересечения, разности
- 1. Операция объединения.
- Наборы символов Firebird
- Предикаты: наборы узлов
- Наборы данных
- 10.6.2. Наборы сигналов: sigset_t и связанные функции
- Выражение объединения в SQL
- VI. Операции над структурами и объединениями
- 8.17.5 Применение объединения маршрутов
- 6.8 Объединения
- Пользовательские наборы символов и сортировки