Order struct is the order condition

Condition are the “where” conditions

The Abstract Syntax Tree is used to build the query by a Query Builder

A query builder can be different for each database implementation

AST is a dialect agnostic way of storing the implementation for different database