рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Соединение таблицы с самой собой

Соединение таблицы с самой собой - раздел Программирование, Многотабличные запросы на чтение и объединение таблиц Отношения Могут Существовать Не Только Между Таблицами, Но И Внутри Одной Таб...

Отношения могут существовать не только между таблицами, но и внутри одной таблицы (рекурсивная связь). Например (Рисунок 3), таблица EMP содержит список сотрудников, каждый из которых может быть начальником другого сотрудника и может, в свою очередь, сам быть начальником. Если Вы хотите получить список сотрудников с указанием начальника, обычный многотабличный запрос не поможет, т.к. оба сравниваемых столбца находятся в одной таблице (EMPNO – первичный ключ для списка начальников, MGR – внешний ключ для списка сотрудников). Для выполнения такого запроса необходимо соединить таблицу саму с собой, это возможно путем имитации двух таблиц с помощью псевдонимов. Например, с помощью псевдонима m представляем таблицу EMP, как список начальников с первичным ключом на колонке EMPNO, а с помощью псевдонима e – как список сотрудников с внешним ключом на колонке MGR. Тогда мы можем составить обычный многотабличный запрос на основе эквисоединения этих двух таблиц.

Рисунок 3 Рекурсивная связь внутри таблицы

SQL> SELECT m.ename || ' is manager of ' || e.ename " "

2 FROM emp m, emp e

3 WHERE m.empno=e.mgr;

 

-----------------------------------

JONES is manager of SCOTT

JONES is manager of FORD

BLAKE is manager of ALLEN

BLAKE is manager of WARD

BLAKE is manager of JAMES

BLAKE is manager of TURNER

BLAKE is manager of MARTIN

CLARK is manager of MILLER

SCOTT is manager of ADAMS

KING is manager of JONES

KING is manager of CLARK

KING is manager of BLAKE

FORD is manager of SMITH

13 rows selected.

– Конец работы –

Эта тема принадлежит разделу:

Многотабличные запросы на чтение и объединение таблиц

На сайте allrefs.net читайте: "Многотабличные запросы на чтение и объединение таблиц"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Соединение таблицы с самой собой

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Многотабличные запросы на чтение и объединение таблиц
Выборка данных из нескольких таблиц Декартово произведение Многотабличные запросы Псевдонимы таблиц Чтение всех столбцов Порядок выполнения многотабличн

Выборка данных из нескольких таблиц
Правила нормализации таблиц, действующие в рамках концепции реляционной модели, рекомендуют разбивать данные на множество таблиц. Следовательно, в базе данных, разработанной в соответствии с концеп

Декартово произведение
В связи с тем, что многотабличные запросы выполняются путем сравнения столбцов, оператор SELECT должен содержать условие поиска, которое определяет соотношение столбцов. Если условие поиска опущено

SELECT [ALL | DISTINCT] список_выбора
FROM таблица1 [псевдоним1], таблица2 [псевдоним2], … [WHERE условие_соединения] [ORDER BY {столбец

Псевдонимы таблиц
Имена таблиц могут оказаться слишком длинными. В этом случае при составлении корректного запроса код SQL может оказаться очень большим, что увеличит время отклика, т.к. на обработку такого запроса

Порядок выполнения многотабличного запроса
1. Формируется декартово произведение таблиц, перечисленных в предложении FROM. 2. Условие соединения, заданное в предложении WHERE, применяется ко всем строкам декартова произведения табл

Не-эквисоединения
Достаточно часто возникает ситуация, когда необходимо получить информацию из разных таблиц, причем ни один столбец таблицы не соответствует в точности ни одному столбцу другой таблицы. Например (Ри

Внешнее соединение
Если строка из одной таблицы не имеет пары из другой таблицы, она не включается в результирующее множество, возвращаемое многотабличным запросом. Может возникнуть ситуация, когда результат запроса

Многотабличные запросы и стандарт SQL2
В стандарте SQL1 дано определение только внутреннего соединения таблиц, понятие внешнего соединения в нем отсутствует. Однако внешнее соединение таблиц является полезной частью реляционной модели д

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги