sql >> Database teknologi >  >> RDS >> Oracle

CONNECT BY eller hierarkiske forespørgsler i andre RDBMS end Oracle

SQL Server bruger almindelige tabeludtryk (WITH statement) for at opnå det samme (se rekursive forespørgsler, der bruger almindelige tabeludtryk).

Denne form for forespørgsel kan også bruges i Oracle (startende med 11g, hvis jeg ikke tager fejl).

Den resulterende forespørgsel er mere kompleks:

WITH emp(employee_id, manager_id, job_id, last_name, lvl) AS ( SELECT e.employee_id, e.manager_id, e.job_id, e.last_name, 1 lvl FROM employees e WHERE job_id = 'AD_VP' UNION ALL SELECT e.employee_id, e.manager_id, e.job_id, e.last_name, r.lvl + 1 lvl FROM employees e JOIN emp r ON r.employee_id = e.manager_id ) SELECT LPAD(' ', 2 * (lvl-1)) || last_name org_chart, employee_id, manager_id, job_id FROM emp;

  1. Indlæs dynamisk data på div scroll ved hjælp af php, mysql, jquery og ajax

  2. Sådan opretter du en MySQL-database og indstiller privilegier

  3. Sådan skriver du UTF-8-strenge korrekt i MySQL gennem JDBC-grænsefladen

  4. ROWIDTONCHAR() Funktion i Oracle