一、DISTINCT操作基础理论
1.1 DISTINCT的核心概念与语义
DISTINCT是SQL语言中的一个关键操作符,用于从查询结果中消除重复行,仅返回唯一的记录集合。在关系型数据库理论中,DISTINCT操作实际上执行的是对结果集的一个投影(Projection)操作,其后跟随一个消除重复元组的过程。
从集合论角度看,数据库表本质上是元组的集合,而DISTINCT操作就是将可能存在重复的元组集合转换为真正的数学集合(其中所有元素都是唯一的)。这种操作在数据处理流程中极为常见,特别是在需要生成唯一值列表或准备聚合计算时。
专业术语解析:
- 元组去重:指消除表中所有字段值完全相同的重复行
- 部分字段去重:仅针对SELECT子句中指定字段的组合进行去重
- 结果集基数:指DISTINCT操作后结果集的行数,是查询优化器评估执行计划的重要指标
1.2 DISTINCT的语法规范与变体
GaussDB中DISTINCT的标准语法结构如下:
SELECT