Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
ГЛАВА 22. Запросы к множеству таблиц.
ГЛАВА 22. Запросы к множеству таблиц.
Динамический SQL Firebird поддерживает три варианта запросов к множеству таблиц с помощью одного оператора SQL: соединения (joins), подзапросы (subqueries) и объединения (unions). Результат соединений, столбцов подзапроса и объединений является по своей природе набором данных только для чтения.
Firebird не поддерживает многотабличные запросы, которые находятся в нескольких базах данных. Тем не менее возможен запрос к нескольким таблицам одновременно из нескольких баз данных внутри одной транзакции, имеющей полное двухфазное завершение (two-phase commit- 2РС). Клиентские приложения могут сопоставлять данные и выполнять отдельные операторы манипулирования данными в пределах базы данных. Мультибазовые транзакции обсуждаются в части VI.
В этой главе мы рассмотрим три метода динамического поиска данных в нескольких таблицах[77] в контексте одного оператора и одной базы данных: соединения, подзапросы и объединения.
Данная глава завершается темой оптимизации, где рассматриваются планы выполнения запросов, и как оптимизатор Firebird выбирает и использует индексы для создания этих планов. Понимание того, как оптимизатор "думает", может быть полезным при проектировании хорошо сформированных индексов и создании операторов запросов.
- Виды многотабличных запросов
- Соединения
- Подзапросы
- Запросы UNION
- Соединения
- Внутреннее соединение
- Внешние соединения
- Перекрестные соединения
- Естественные соединения
- Двусмысленность в запросах JOIN
- Алиасы таблиц
- Внутренний курсор
- Реентерабельные соединения
- Подзапросы
- Задание столбца при использовании подзапроса
- Поиск с использованием подзапроса
- Добавление данных с использованием подзапроса с соединениями
- Оператор UNION
- Наборы, совместимые для объединения
- Использование столбцов времени выполнения в объединениях
- Условия поиска и упорядочивания
- Реентерабельные запросы UNION
- UNION ALL
- Темы оптимизации: планы запросов и оптимизатор
- Безопасная работа с внешними таблицами
- Модификация системных таблиц
- Безопасность временных таблиц
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- 6.5 Хост в таблице маршрутизации IP
- Запросы на обновление
- Использование представления в виде таблицы данных
- 4.3. Логические функции и таблицы истинности
- Запросы, подсчитывающие строки
- ГЛАВА 16. Таблицы.
- 5.1.13. Таблицы
- Просмотр и редактирование таблиц