Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cấu trúc cây trong sql trong Oracle. Cách hiển thị cây, nút con và nút cha trong SQL Oracle

Truy vấn - Toàn bộ cấu trúc cây :

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

Truy vấn - Con của một nhân viên nhất định :

Bạn không cần truy vấn phân cấp cho việc này.
(Giá trị gốc được cung cấp bởi biến liên kết :parent_id )

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

Truy vấn - Con cháu của một nhân viên nhất định :

Truy vấn giống như đối với toàn bộ cây nhưng có điểm bắt đầu khác
(Giá trị gốc được cung cấp bởi biến liên kết :parent_id )

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

Truy vấn - Nhân viên và tổ tiên của họ :

Tương tự như truy vấn trước nhưng với CONNECT BY đã đảo ngược và bạn sẽ không cần đặt hàng anh chị em vì sẽ chỉ có một người quản lý trực tiếp cho mỗi nhân viên.
(Nhân viên được cung cấp bởi biến ràng buộc :employee_id )

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

Truy vấn - Người quản lý của nhân viên :

Giống với truy vấn trước đó nhưng có bộ lọc LEVEL = 2 để chỉ lấy hàng mẹ ngay lập tức.
(Nhân viên được cung cấp bởi biến liên kết :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. So sánh các chuỗi bỏ qua dấu trong SQL (ORACLE)

  2. Truy vấn đệ quy SQL trên bảng tự tham chiếu (Oracle)

  3. Hàm NLS_COLLATION_ID () trong Oracle

  4. Tìm phiên bản / bản vá của máy chủ weblogic trong EBS R12.2 / Weblogic độc lập

  5. Quản lý cửa sổ trong Oracle D2k Forms