Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Struktur pohon dalam sql di Oracle. Cara menampilkan pohon, simpul anak, dan simpul induk di SQL Oracle

Kueri - Seluruh struktur pohon :

SELECT *
FROM   Employee
START WITH ParentID IS NULL
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;

Kueri - Anak-anak dari karyawan tertentu :

Anda tidak memerlukan kueri hierarkis untuk ini.
(Induk diberikan oleh variabel bind :parent_id )

SELECT *
FROM   Employee
WHERE  ParentID = :parent_id
ORDER BY LastName, FirstName, ID;

Kueri - Keturunan dari karyawan tertentu :

Kueri yang sama seperti untuk seluruh pohon tetapi dengan titik awal yang berbeda
(Induk diberikan oleh variabel bind :parent_id )

SELECT *
FROM   Employee
START WITH ParentID = :parent_id
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;

Kueri - Karyawan dan leluhurnya :

Mirip dengan kueri sebelumnya tetapi dengan CONNECT BY terbalik dan Anda tidak perlu memesan saudara kandung karena hanya akan ada satu manajer langsung per karyawan.
(Karyawan diberikan oleh variabel bind :employee_id )

SELECT *
FROM   Employee
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;

Kueri - Manajer karyawan :

Identik dengan kueri sebelumnya tetapi dengan filter LEVEL = 2 untuk mendapatkan baris induk langsung.
(Karyawan diberikan oleh variabel bind :employee_id )

SELECT e.*
FROM   Employee e
WHERE  LEVEL = 2
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat tugas ADDM dan memeriksa laporannya

  2. Baca Dan Impor File CSV Di Oracle PL/SQL Secara Efisien

  3. Bagaimana cara mendapatkan kunci yang dihasilkan dari sisipan batch JDBC di Oracle?

  4. Kolom Kenaikan Otomatis – Urutan sebagai Nilai Default di Oracle

  5. ORACLE dan TRIGGERS (dimasukkan, diperbarui, dihapus)