powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Hierarchal SQL in JOIN
7 сообщений из 7, страница 1 из 1
Hierarchal SQL in JOIN
    #32099168
Victor S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иерархический под-запрос возвращает от 1 до 1000 значений и соответственно WHERE <some> in ( <list>) не эффективен.
Можно ли переписать это как JOIN ?

SELECT count(1) FROM INVENTORY
WHERE assigned_to IN
(SELECT employee_id
FROM employees
START WITH employee_id = '14998'
CONNECT BY PRIOR employee_id = supervisor_id);


Премного буду благодарен
...
Рейтинг: 0 / 0
Hierarchal SQL in JOIN
    #32099172
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select count(*) from inventory i
where exists (select null
              from employees e
              where i.assigned_to = e.employee_id
              connect by prior e.employee_id = e.supervisor_id
              start with employee_id = '14998')
;
...
Рейтинг: 0 / 0
Hierarchal SQL in JOIN
    #32099849
Victor S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Гена! Идея понятна, однако SQL plus уходит в себя и не возвращается. Может какая деталь ?
...
Рейтинг: 0 / 0
Hierarchal SQL in JOIN
    #32099859
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соотнесенный подзапрос тем и интересен, что выполняется ровно столько раз, сколько записей возвратил бы внешний запрос без подзапроса, Т.е. чем больше записей в INVENTORY, тем выгоднее твой первоначальный вариант.
...
Рейтинг: 0 / 0
Hierarchal SQL in JOIN
    #32099861
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) zelatelno poluchit plan vipolneniye zaprosa

> set autotrace traceonly

2) ochen zelatelno imet indeksy na polyah:
-- i.assigned_to
-- e.employee_id
-- e.supervisor_id
...
Рейтинг: 0 / 0
Hierarchal SQL in JOIN
    #32099878
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kak dobavlenie k Denisu.

Filtr po where vipolniaetsya POSLE postroeniya polnogo dereva v korrelirovannom podzaprose.
...
Рейтинг: 0 / 0
Hierarchal SQL in JOIN
    #32099969
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не совсем то наверное но тоже неплохо:

SELECT count(1) FROM INVENTORY I,
(SELECT employee_id FROM employees
START WITH employee_id = '14998'
CONNECT BY PRIOR employee_id = supervisor_id) E
WHERE I.assigned_to = E.employee_id;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Hierarchal SQL in JOIN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]