Chapter 28

Trees and Hierarchies in SQL


A tree is a special kind of directed graph. A hierarchy is a special kind of tree. IMS and other early databases, operating systems, and file systems are based on this model. It can be modeled with SQL.


n-Ary tree


Leaf node

Root node

Adjacency list model

Nested sets model



Parts explosion

A tree is a special kind of directed graph. Graphs are data structures that are made up of nodes (usually shown as boxes) connected by edges (usually shown as lines with arrowheads). Each edge represents a one-way relationship between the two nodes it connects. In an organizational chart, the nodes are employees and each edge is the “reports to” relationship. In a parts ...

Get Joe Celko's SQL for Smarties, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.