SELECT 查询
select_from::<T>() 创建不可变 SELECT 构建器。调用会消费并返回新的构建器,最终输出类型由 select 的投影决定。
投影与结果类型
这个查询的 Output 是 (i64, String, Option<String>)。实现了 Row 的驱动行可以通过 FromRow 解码该元组。
select_all() 生成 table.*,但输出类型是 ()。当调用方需要类型化解码时,应显式列出投影。
连接
支持 inner_join、left_join、right_join、full_join 以及别名版本。方言会决定某种连接是否可编译。
分组与 HAVING
聚合返回 TypedExpression<V>,可用于投影、排序或谓词。
标量子查询
标量子查询必须有且只有一个投影。也可以使用 eq_subquery、in_subquery 与 exists 构造谓词。
DISTINCT 与排序表达式
排序表达式与查询共享参数累加器,因此其中的绑定值保持正确编号。