Connect by in Oracle SQL

Angenommen, wir haben folgenden Tabellen

create table Employee(
  2    EMPNO         NUMBER(3),
  3    ENAME         VARCHAR2(15 BYTE),
  4    HIREDATE      DATE,
  5    ORIG_SALARY   NUMBER(6),
  6    CURR_SALARY   NUMBER(6),
  7    REGION        VARCHAR2(1 BYTE),
  8    MANAGER_ID    NUMBER(3)
  9  )

und

create table job (
  2    EMPNO         NUMBER(3),
  3    jobtitle      VARCHAR2(20 BYTE)
  4  )
  5  /

Mich interessiert, was die folgenden Abfrage nicht

SELECT empno, manager_id, ename
  2  FROM employee
  3  START WITH empno = 1
  4  CONNECT BY PRIOR empno = manager_id;

Als ich verstanden, dass dieser code wählt empno,manager_id,ename Mitarbeiter, es beginnt die Auswahl aus dieser Reihe, wo empno=1, konnte aber nicht verstehen, was diese Zeile macht:

CONNECT BY PRIOR empno = manager_id;

Ist dies das gleiche wie:

where empno=manager_id?

InformationsquelleAutor dato datuashvili | 2012-06-21

Schreibe einen Kommentar