Skip to main content

Module set_ops

Module set_ops 

Source
Expand description

Set operations for combining query results.

Provides UNION, UNION ALL, INTERSECT, INTERSECT ALL, EXCEPT, and EXCEPT ALL operations for combining multiple SELECT queries.

§Example

use sqlmodel_query::{select, union, union_all, SetOperation};

// UNION - removes duplicates
let admins = select!(User).filter(Expr::col("role").eq("admin"));
let managers = select!(User).filter(Expr::col("role").eq("manager"));
let query = admins.union(managers);

// UNION ALL - keeps duplicates
let query = union_all([query1, query2, query3]);

// With ORDER BY on final result
let query = select!(User)
    .filter(Expr::col("active").eq(true))
    .union(select!(User).filter(Expr::col("premium").eq(true)))
    .order_by(Expr::col("name").asc());

Structs§

SetOperation
A set operation combining multiple queries.

Enums§

SetOpType
Type of set operation.

Functions§

except
Create an EXCEPT of multiple queries.
except_all
Create an EXCEPT ALL of multiple queries.
intersect
Create an INTERSECT of multiple queries.
intersect_all
Create an INTERSECT ALL of multiple queries.
union
Create a UNION of multiple queries.
union_all
Create a UNION ALL of multiple queries.