Represent the statement as a query tree
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
The query processor makes extensive use of a relational algebra tree representation to model and manipulate SQL queries. At various points within the tree, operations are performed on the data. Each operation is represented as a node in the tree. Nodes can have one or more expressions associated with them to specify columns, conditions, and calculations associated with the operation.
Some of the operators that might be present in the tree are:
-
Restrict — Reduces the number of output rows by eliminating
those that fail to satisfy some condition applied to the input. Restrict
operators appear in the tree from
WHEREclauses andJOINs. -
Project — Reduces the number of output columns by eliminating
columns not present in a project list. Projection operators appear in
the tree from
SELECTstatements, from the list of columns needed for a table, and for aggregations such asSUM. -
Join — Combines two input tables into a single output
table that contains some combination of rows from the inputs. Joins
appear in the tree from the use of
FROMclauses and fromJOINclauses. - Sort — Changes the ordering of rows in an input table to produce an output table in the desired order.
- Table — Represents a table scan or an index scan, reading data from a given table by either its default index (table scan) or a specific index (index scan).
Leaf nodes of the tree are always references to database tables. The following figure illustrates a tree produced for the query.

This query lists the names and order dates for all customers whose orders were shipped on the same day the order was placed:
|