DISTINCT
是一个SQL关键字,用于从查询结果中去除重复的行,只返回唯一的行。其去重原理是通过比较查询结果中的每一行数据来判断是否重复。在比较时,会对查询结果中的每个列逐一进行比较,只有在所有列的值都相同时,才认为这两行数据是相同的,只保留其中一行数据。
举例来说,假设有如下表格:
+----+-------+-------+
| id | name | score |
+----+-------+-------+
| 1 | Alice | 80 |
| 2 | Bob | 70 |
| 3 | Alice | 80 |
+----+-------+-------+
使用以下SQL语句进行查询:
SELECT DISTINCT name, score FROM table1;
则查询结果为:
+-------+-------+
| name | score |
+-------+-------+
| Alice | 80 |
| Bob | 70 |
+-------+-------+
从查询结果可以看出,DISTINCT
关键字去除了原始表中的重复行,只保留了不同的行。
需要注意的是,DISTINCT
关键字只对查询结果中的行进行去重操作,不会对表中的数据进行修改。因此,在查询时使用DISTINCT
关键字可以消除查询结果中的重复数据,但是不会修改原始表中的数据。