在MySQL中,`DISTINCT` 关键字用于从结果集中返回唯一(不同)的值。当你使用 `SELECT` 语句从一个或多个列中查询数据时,可能会得到重复的行记录。如果你希望每个记录都是独一无二的,即每个记录在结果集中只出现一次,那么就可以使用 `DISTINCT` 关键字来实现。
基本用法
```sql
SELECT DISTINCT 列名称 FROM 表名称;
```
- 列名称:这里指定你希望返回唯一值的列名。
- 表名称:指定要从中选择数据的表名。
示例
假设有一个 `employees` 表,其中包括 `department` 列,而你想要找出所有不同的部门名称。你可以写:
```sql
SELECT DISTINCT department FROM employees;
```
这个查询将返回 `department` 列中所有不同的值,每个部门名称在结果集中只出现一次,即使在 `employees` 表中每个部门可能有多个员工关联。
注意事项
- 当你对多个列使用 `DISTINCT` 关键字时,MySQL将返回这些列的唯一组合。例如,`SELECT DISTINCT column1, column2 FROM table;` 将返回 `column1` 和 `column2` 的所有唯一组合。
- 使用 `DISTINCT` 可能会影响查询性能,尤其是在处理大型数据集时。因为数据库需要额外的步骤来确定哪些行是唯一的。
- 如果你仅对表中某一列的唯一值感兴趣,而不是整个行的唯一组合,确保只在 `SELECT DISTINCT` 后面指定那一列的名称。
`DISTINCT` 是一个非常有用的工具,尤其是在进行数据分析和数据清洗时,它能帮助你快速识别表中的唯一值和重复值。