Table Joins Oracle PLSQL

SQL>
SQL> create table emp
  2  ( empno      NUMBER(4)    constraint E_PK primary key
  3  , ename      VARCHAR2(8)
  4  , init       VARCHAR2(5)
  5  , job        VARCHAR2(8)
  6  , mgr        NUMBER(4)
  7  , bdate      DATE
  8  , sal       NUMBER(6,2)
  9  , comm       NUMBER(6,2)
 10  , deptno     NUMBER(2)    default 10
 11  ) ;
Table created.
SQL> insert into emp values(1,'Tom','N',   'TRAINER', 13,date '1965-12-17',  800 , NULL,  20);
1 row created.
SQL> insert into emp values(2,'Jack','JAM', 'Tester',6,date '1961-02-20',  1600, 300,   30);
1 row created.
SQL> insert into emp values(3,'Wil','TF' ,  'Tester',6,date '1962-02-22',  1250, 500,   30);
1 row created.
SQL> insert into emp values(4,'Jane','JM',  'Designer', 9,date '1967-04-02',  2975, NULL,  20);
1 row created.
SQL> insert into emp values(5,'Mary','P',  'Tester',6,date '1956-09-28',  1250, 1400,  30);
1 row created.
SQL> insert into emp values(6,'Black','R',   'Designer', 9,date '1963-11-01',  2850, NULL,  30);
1 row created.
SQL> insert into emp values(7,'Chris','AB',  'Designer', 9,date '1965-06-09',  2450, NULL,  10);
1 row created.
SQL> insert into emp values(8,'Smart','SCJ', 'TRAINER', 4,date '1959-11-26',  3000, NULL,  20);
1 row created.
SQL> insert into emp values(9,'Peter','CC',   'Designer',NULL,date '1952-11-17',  5000, NULL,  10);
1 row created.
SQL> insert into emp values(10,'Take','JJ', 'Tester',6,date '1968-09-28',  1500, 0,     30);
1 row created.
SQL> insert into emp values(11,'Ana','AA',  'TRAINER', 8,date '1966-12-30',  1100, NULL,  20);
1 row created.
SQL> insert into emp values(12,'Jane','R',   'Manager',   6,date '1969-12-03',  800 , NULL,  30);
1 row created.
SQL> insert into emp values(13,'Fake','MG',   'TRAINER', 4,date '1959-02-13',  3000, NULL,  20);
1 row created.
SQL> insert into emp values(14,'Mike','TJA','Manager',   7,date '1962-01-23',  1300, NULL,  10);
1 row created.
SQL>
SQL> create table departments
  2  ( deptno NUMBER(2)     constraint D_PK primary key
  3  , dname  VARCHAR2(10)
  4  , location VARCHAR2(8)
  5  , mgr    NUMBER(4)
  6  ) ;
Table created.
SQL>
SQL> insert into departments values (10,'ACCOUNTING','NEW YORK',7);
1 row created.
SQL> insert into departments values (20,'TRAINING',  'DALLAS',  4);
1 row created.
SQL> insert into departments values (30,'SALES',     'CHICAGO', 6);
1 row created.
SQL> insert into departments values (40,'HR',        'BOSTON',  9);
1 row created.
SQL>
SQL> select e.empno
  2  ,      e.ENAME
  3  ,      e.init
  4  ,      d.dname
  5  ,      d.location
  6  ,      m.ENAME    as Designer
  7  from   emp   e
  8         join
  9         departments d using (deptno)
 10         join
 11         emp   m on (m.empno = d.mgr);
     EMPNO ENAME    INIT  DNAME      LOCATION DESIGNER
---------- -------- ----- ---------- -------- --------
         1 Tom      N     TRAINING   DALLAS   Jane
         2 Jack     JAM   SALES      CHICAGO  Black
         3 Wil      TF    SALES      CHICAGO  Black
         4 Jane     JM    TRAINING   DALLAS   Jane
         5 Mary     P     SALES      CHICAGO  Black
         6 Black    R     SALES      CHICAGO  Black
         7 Chris    AB    ACCOUNTING NEW YORK Chris
         8 Smart    SCJ   TRAINING   DALLAS   Jane
         9 Peter    CC    ACCOUNTING NEW YORK Chris
        10 Take     JJ    SALES      CHICAGO  Black
        11 Ana      AA    TRAINING   DALLAS   Jane
        12 Jane     R     SALES      CHICAGO  Black
        13 Fake     MG    TRAINING   DALLAS   Jane
        14 Mike     TJA   ACCOUNTING NEW YORK Chris
14 rows selected.
SQL> drop table emp;
Table dropped.
SQL> drop table departments;
Table dropped.
SQL>