举个例子,假设你有一个包含员工信息的表,其中有一列是“部门名称”。如果你执行以下查询:
```sql
SELECT department_name FROM employees;
```
可能会得到如下结果:
- 部门A
- 部门B
- 部门A
- 部门C
- 部门B
这里有两个“部门A”和两个“部门B”,如果希望每个部门只出现一次,就可以使用 `DISTINCT` 来优化查询:
```sql
SELECT DISTINCT department_name FROM employees;
```
执行后,结果将是:
- 部门A
- 部门B
- 部门C
需要注意的是,`DISTINCT` 会影响整个结果集。也就是说,它会对查询中所有指定的列进行唯一性判断。例如,如果你查询多列,比如部门名称和职位,那么只有当这两列的组合完全相同时,才会被视为重复项。
总结一下,`DISTINCT` 是 SQL 中用于去重的一个重要工具,能够帮助我们从数据集中提取出唯一的信息,避免冗余数据的干扰。