Query in sqlparser::ast - Rust

pub struct Query {
    pub with: Option<With>,
    pub body: Box<SetExpr>,
    pub order_by: Option<OrderBy>,
    pub limit_clause: Option<LimitClause>,
    pub fetch: Option<Fetch>,
    pub locks: Vec<LockClause>,
    pub for_clause: Option<ForClause>,
    pub settings: Option<Vec<Setting>>,
    pub format_clause: Option<FormatClause>,
    pub pipe_operators: Vec<PipeOperator>,
}
Expand description

The most complete variant of a SELECT query expression, optionally including WITH, UNION / other set operations, and ORDER BY.

WITH (common table expressions, or CTEs)

§body: Box<SetExpr>

SELECT or UNION / EXCEPT / INTERSECT

ORDER BY

LIMIT ... OFFSET ... | LIMIT <offset>, <limit>

FETCH { FIRST | NEXT } <N> [ PERCENT ] { ROW | ROWS } | { ONLY | WITH TIES }

FOR { UPDATE | SHARE } [ OF table_name ] [ SKIP LOCKED | NOWAIT ]

FOR XML { RAW | AUTO | EXPLICIT | PATH } [ , ELEMENTS ] FOR JSON { AUTO | PATH } [ , INCLUDE_NULL_VALUES ] (MSSQL-specific)

ClickHouse syntax: SELECT * FROM t SETTINGS key1 = value1, key2 = value2

ClickHouse

SELECT * FROM t FORMAT JSONCompact

ClickHouse (ClickHouse-specific)

Pipe operator

§
§
§
§
§
§