Разделы презентаций


ИЕРАРХИЧЕСКИЕ ЗАПРОСЫ

Цели занятия К концу занятия студенты узнают следующее: Операторы для выполнения иерархических запросов.

Слайды и текст этой презентации

Слайд 1ИЕРАРХИЧЕСКИЕ ЗАПРОСЫ

ИЕРАРХИЧЕСКИЕ ЗАПРОСЫ

Слайд 2Цели занятия
К концу занятия студенты узнают следующее:
Операторы для

выполнения иерархических запросов.



Цели занятия К концу занятия студенты узнают следующее: Операторы для выполнения иерархических запросов.

Слайд 3Иерархические Запросы
Синтаксис: [START WITH condition] CONNECT BY [ NOCYCLE ]

condition
START WITH – задает строку/строки, лежащие в корне иерархии. Это выражение определяет

условие, которому должны соответствовать корневые строки. Условие может содержать вложенные запросы. Если эта фраза не задана, то все строки таблицы являются корневыми.
CONNECT BY – задает отношение между родительскими и дочерними строками в иерархии. Отношение задается «P-условием», это может быть любое сравнение, но какая-то его часть должна содержать ключевое слово PRIOR, относящееся к родительской строке.
Чтобы найти дочерние строки, Oracle вычисляет PRIOR-выражение для родительской строки, а другое выражение – для каждой строки таблицы. Строки, для которых это выражение дает истину, являются дочерними. CONNECT BY может содержать и другие условия-фильтры. CONNECT BY не может содержать вложенных запросов.
Rownum – псевдостолбец, в котором нумеруются строки, начиная от 1 в порядке их выдачи. Его можно использовать в иерархических запросах.


Иерархические ЗапросыСинтаксис: [START WITH condition] CONNECT BY [ NOCYCLE ] conditionSTART WITH – задает строку/строки, лежащие в корне иерархии.

Слайд 4Иерархические Запросы (прод.)
Пример запроса, который использует оператор CONNECT BY для описания зависимости

между начальниками и подчиненными:
SELECT id, last_name, manager_id
FROM s_emp
CONNECT BY

PRIOR id = manager_id;
Использование оператора START WITH для определения начального уровня, с которого следует отображать иерархию по сотрудникам. Комбинация операторов ORDER BY и SIBLINGS предотвращает сортировку внутри иерархии:
SELECT last_name, id, manager_id, LEVEL
FROM s_emp
START WITH id = 10
CONNECT BY PRIOR id = manager_id
ORDER SIBLINGS BY last_name;

Иерархические Запросы (прод.)Пример запроса, который использует оператор CONNECT BY для описания зависимости между начальниками и подчиненными:	SELECT id, last_name, manager_id

Слайд 5Иерархические Запросы (прод.)
Пример вывода иерархии в 10 отделе и «пути»

к подчиненному в этой иерархии:
SELECT last_name "Employee", CONNECT_BY_ROOT last_name "Manager",

LEVEL-1 "Pathlen", SYS_CONNECT_BY_PATH(last_name, '/') "Path"
FROM s_emp
WHERE LEVEL > 1 and dept_id = 42
CONNECT BY PRIOR id = manager_id;
Пример использования оператора GROUP BY для отображения общей зарплаты в 10 отделе и всех сотрудников в иерархии:
SELECT name, SUM(salary) "Total_Salary"
FROM (SELECT CONNECT_BY_ROOT last_name as name, salary
FROM s_emp
WHERE dept_id = 10
CONNECT BY PRIOR id = manager_id)
GROUP BY name;

Слайд 6Иерархические Запросы (прод.)
LEVEL – данный оператор используется совместно с CONNECT

BY для отображения уровня, начиная с 1-го.
CONNECT_BY_ISLEAF и CONNECT BY_ISCYCLE

– используются для определения иерархии.
Пример использования оператора LEVEL:
SELECT id, last_name, manager_id, LEVEL
FROM s_emp
CONNECT BY PRIOR id = manager_id;
Пример использования оператора NOCYCLE вместе с CONNECT BY:
SELECT last_name "Employee", CONNECT_BY_ISCYCLE "Cycle", LEVEL, SYS_CONNECT_BY_PATH(last_name, '/') "Path"
FROM s_emp WHERE level <= 3 AND dept_id = 10
START WITH last_name = 'Biri'
CONNECT BY NOCYCLE PRIOR id = manager_id AND LEVEL <= 4;
Иерархические Запросы (прод.)LEVEL – данный оператор используется совместно с CONNECT BY для отображения уровня, начиная с 1-го.CONNECT_BY_ISLEAF

Слайд 7Задание к лаб. работе № 15
Согласно варианту (по номеру в

журнале) выведите для сотрудника с таким же номером из учебной

схемы данных всех его начальников, всех его подчиненных и сотрудников одного с ним уровня (независимо от наличия таких записей).

Задание к лаб. работе № 15Согласно варианту (по номеру в журнале) выведите для сотрудника с таким же

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика