pub struct Query {
pub with: Option<With>,
pub body: Box<SetExpr>,
pub order_by: Option<OrderBy>,
pub limit: Option<Expr>,
pub limit_by: Vec<Expr>,
pub offset: Option<Offset>,
pub fetch: Option<Fetch>,
pub locks: Vec<LockClause>,
pub for_clause: Option<ForClause>,
pub settings: Option<Vec<Setting>>,
pub format_clause: Option<FormatClause>,
}
Expand description
The most complete variant of a SELECT
query expression, optionally
including WITH
, UNION
/ other set operations, and ORDER BY
.
Fields§
§with: Option<With>
WITH (common table expressions, or CTEs)
body: Box<SetExpr>
SELECT or UNION / EXCEPT / INTERSECT
order_by: Option<OrderBy>
ORDER BY
limit: Option<Expr>
LIMIT { <N> | ALL }
limit_by: Vec<Expr>
LIMIT { <N> } BY { <expr>,<expr>,... } }
offset: Option<Offset>
OFFSET <N> [ { ROW | ROWS } ]
fetch: Option<Fetch>
FETCH { FIRST | NEXT } <N> [ PERCENT ] { ROW | ROWS } | { ONLY | WITH TIES }
locks: Vec<LockClause>
FOR { UPDATE | SHARE } [ OF table_name ] [ SKIP LOCKED | NOWAIT ]
for_clause: Option<ForClause>
FOR XML { RAW | AUTO | EXPLICIT | PATH } [ , ELEMENTS ]
FOR JSON { AUTO | PATH } [ , INCLUDE_NULL_VALUES ]
(MSSQL-specific)
settings: Option<Vec<Setting>>
ClickHouse syntax: SELECT * FROM t SETTINGS key1 = value1, key2 = value2
format_clause: Option<FormatClause>
SELECT * FROM t FORMAT JSONCompact
ClickHouse (ClickHouse-specific)
Trait Implementations§
source§impl<'de> Deserialize<'de> for Query
impl<'de> Deserialize<'de> for Query
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Ord for Query
impl Ord for Query
source§impl PartialOrd for Query
impl PartialOrd for Query
source§impl VisitMut for Query
impl VisitMut for Query
fn visit<V: VisitorMut>(&mut self, visitor: &mut V) -> ControlFlow<V::Break>
impl Eq for Query
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl Freeze for Query
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnwindSafe for Query
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)