Я хочу, чтобы empno,имя,должность,НАЗНАЧЕННЫЙ_МЕНЕДЖЕР(имя менеджера, а не номер ) может ли кто-нибудь помочь мне с кодом

#sql #oracle

Вопрос:

 EMPNO ENAME JOB ASSIGNED_MANAGER 7839 KING PRESIDENT ----- 7698 BLAKE MANAGER 7839 7782 CLARK MANAGER 7839 7566 JONES MANAGER 7839 7788 SCOTT ANALYST 7566 7902 FORD ANALYST 7566 7369 SMITH CLERK 7902 7499 ALLEN SALESMAN 7698 7521 WARD SALESMAN 7698 7654 MARTIN SALESMAN 7698 7844 TURNER SALESMAN 7698 7876 ADAMS CLERK 7788 7900 JAMES CLERK 7698 7934 MILLER CLERK 7782  

Комментарии:

1. Пожалуйста, покажите вашу текущую попытку и опишите, в чем проблема с ней.

Ответ №1:

Это самостоятельное внешнее соединение:

  • самостоятельно, чтобы вы использовали одну и ту же emp таблицу () дважды: один раз для выборки сотрудников, а другой раз для выборки имен менеджеров
  • внешний, потому что есть сотрудники, у которых нет менеджеров

 SQLgt; select e.empno, e.ename, e.job, m.ename  2 from emp e left join emp m on e.mgr = m.empno;   EMPNO ENAME JOB ENAME ---------- ---------- --------- ----------  7902 FORD ANALYST JONES  7788 SCOTT ANALYST JONES  7900 JAMES CLERK BLAKE  7844 TURNER SALESMAN BLAKE  7654 MARTIN SALESMAN BLAKE  7521 WARD SALESMAN BLAKE  7499 ALLEN SALESMAN BLAKE  7934 MILLER CLERK CLARK  7876 ADAMS CLERK SCOTT  7782 CLARK MANAGER KING  7698 BLAKE MANAGER KING  7566 JONES MANAGER KING  7369 SMITH CLERK FORD  7839 KING PRESIDENT  14 rows selected.  SQLgt;