Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
ID | Номер сотрудника | PRIMARY KEY |
LAST_NAME | Фамилия | NOT NULL |
TITLE | Должность | NOT NULL |
MANAGER_ID | Номер начальника | |
SALARY | Зарплата | NOT NULL |
START_DATE | Дата начала работы | NOT NULL |
(Отметьте один правильный вариант ответа.)
Варианты ответа
WITH subordination (id, job) AS (SELECT id, title FROM s_emp WHERE title = 'President'UNION ALLSELECT s.job||' -> '||e.titleFROM s_emp e INNER JOIN subordination s ON s.id = e.manager_id)SELECT job FROM subordination;
DECLARE v_title s_emp.title%TYPE; v_id s_emp.id%TYPE;v_job VARCHAR2(200)BEGINSELECT id, title INTO v_id, v_title FROM s_emp WHERE title = 'President';FOR i IN (SELECT * FROM s_emp WHERE manager_id = v_id) LOOP v_job := v_job||' -> '||i.title; DBMS_OUTPUT.PUT_LINE(v_job);END LOOP; END;
SELECT w.last_name||', '||w.title||' works for '||m.last_name||', '||m.title "Level of subordination"FROM s_emp w INNER JOIN s_emp m ON m.id = w.manager_idORDER m.title;
SELECT LEVEL, RPAD(last_name, LEVEL,'_') "Level of subordination"FROM s_empCONNECT BY PRIOR id = manager_idSTART WITH manager_id IS NULLORDER SIBLINGS BY last_name;(Верный ответ)