Task Hierarchical Retrieval Solutions
1. Buatlah perintah SQL untuk menampilkan hirarki Bottom-up dari pegawai bernama Lorentz!
(Pegawai Lorentz tidak perlu ditampilkan).
Jawab :
SELECT last_name FROM employees WHERE last_name <> ‘Lorentz’ START WITH last_name = ‘Lorentz’ CONNECT BY PRIOR manager_id=employee_id;
2. Buatlah perintah SQL untuk menampilkan pegawai-pegawai yang ada di bawah pegawai bernama
Mourgo’s (last_name). Tampilkan last_name, salary, dan department_name
Jawab :
SELECT e.last_name, e.salary, d.department_name from employees e join departments d
ON (e.department_id = d.department_id)
start with e.last_name =’Mourgos’
connect by prior e.employee_id = e.manager_id;
3. Buatlah perintah SQL untuk menampilkan organization chart dari hirarki manajemen pada
schema HR. Mulailah dari posisi paling atas, namun tidak termasuk semua pegawai yang
memiliki job_id IT_PROG, dan tidak termasuk juga pegawai bernama De Hann beserta seluruh
bawahannya!
Jawab :
SELECT e.last_name,e.employee_id, e.manager_id, d.department_name from employees e join departments d on (e.department_id=d.department_id) where e.job_id != ‘IT_PROG’ start with e.manager_id is NULL connect by prior e.employee_id = e.manager_id and e.last_name != ‘De Haan’;
4.Buatlah perintah SQL untuk menampilkan hirarki manajemen yang dimulai dari pegawai yang
memiliki manager_id sama dengan manager_id pegawai bernama Chen! CATATAN: pegawai
Chen tidak perlu ditampilkan.
Jawab :
SELECT e.last_name, e.employee_id, e.manager_id, d.department_name FROM employees e JOIN departments d ON (e.department_id = d.department_id) WHERE last_name <> ‘Chen’ START WITH e.manager_id IN (SELECT manager_id FROM employees WHERE last_name = ‘Chen’) CONNECT BY PRIOR e.employee_id = e.manager_id;
5. Buatlah perintah SQL untuk menampilkan hirarki manajemen top-down yang memiliki
department yang sama dengan pegawai Zlotkey dan dimulai dari manager_id dari pegawai
Zlotkey
Jawab :
SELECT e.last_name, e.employee_id, e.manager_id, d.department_name, j.job_title
FROM employees e
JOIN departments d
ON (e.department_id = d.department_id)
JOIN jobs j
ON (e.job_id = j.job_id)
WHERE e.department_id = (SELECT department_id FROM employees WHERE last_name = ‘Zlotkey’)
START WITH e.manager_id = (SELECT manager_id FROM employees WHERE last_name = ‘Zlotkey’)
CONNECT BY PRIOR e.employee_id = e.manager_id;
6. Buatlah perintah SQL untuk menampilkan hirarki manajemen dengan ketentuan memiliki
department dan job yang sama dengan pegawai bernama Vargas. Hirarki dimulai dari manager
pegawai bernama Vargas!
Jawab :
SELECT e.last_name, e.employee_id, e.manager_id, d.department_name, j.job_title
FROM employees e
JOIN departments d
ON (e.department_id = d.department_id)
JOIN jobs j
ON (e.job_id = j.job_id)
WHERE e.department_id = (SELECT department_id FROM employees WHERE last_name = ‘Vargas’)
AND e.job_id = (SELECT job_id FROM employees WHERE last_name = ‘Vargas’)
START WITH e.manager_id = (SELECT manager_id FROM employees WHERE last_name = ‘Vargas’)
CONNECT BY PRIOR e.employee_id = e.manager_id;
Wassalamualaikum
http://dedyrw.staff.telkomuniversity.ac.id/2014/05/13/task-hierarchical-retrieval/
Recent Comments