SQL SELECT DISTINCT 语句
在 SQL 中,SELECT DISTINCT
语句用于从表中查询不重复的值。这对于需要从数据库检索唯一值时非常有用。DISTINCT
关键字会去除结果集中重复的行,只返回唯一的记录。
SELECT DISTINCT column1, column2, ...
FROM table_name;
column1
,column2
, ... 是你希望在结果集中应用去重的列。table_name
是你要查询的表。
多列 DISTINCT
当你指定多个列时,DISTINCT
会作用于这些列的组合。也就是说,只有当所有指定列的组合相同时才会去除重复。
SELECT DISTINCT first_name, last_name
FROM employees;
在这个例子中,查询会返回所有不同的 first_name
和 last_name
组合。如果两个员工的名字和姓氏完全相同,则只会显示一条结果。
注意事项
-
性能影响:
DISTINCT
操作可能会增加查询的计算成本,尤其是在大数据集上,因为它需要对数据进行排序和去重。 -
NULL 值处理:
DISTINCT
也会去掉重复的NULL
值。在 SQL 中,NULL
被视为一个特殊的值,因此多个NULL
在结果集中只会被显示一次。 -
结合其他子句:
SELECT DISTINCT
可以与其他 SQL 子句结合使用,如WHERE
、ORDER BY
等,以实现更复杂的查询。