Skip to content

SQL SELECT DISTINCT

SQL SELECT DISTINCT 语句用于返回唯一不同的值,去除查询结果中的重复行。

SELECT DISTINCT 语法

sql
SELECT DISTINCT column1, column2, ...
FROM table_name;
  • DISTINCT:关键字,用于指定返回唯一不同的值
  • column1, column2, ...:指定要查询的列名,多个列之间用逗号分隔
  • table_name:指定要查询的表名

示例

假设我们有一个名为 students 的表,包含以下数据:

idnameagegrade
1张三18高三
2李四17高二
3王五19高三
4赵六16高一
5钱七18高三

示例 1:查询所有年级(包含重复值)

sql
SELECT grade FROM students;

结果:

grade
高三
高二
高三
高一
高三

示例 2:查询唯一的年级(去除重复值)

sql
SELECT DISTINCT grade FROM students;

结果:

grade
高三
高二
高一

示例 3:查询唯一的年级和年龄组合

sql
SELECT DISTINCT grade, age FROM students;

结果:

gradeage
高三18
高二17
高三19
高一16

注意事项

  1. DISTINCT 应用于所有列:当使用 DISTINCT 时,它会应用于所有指定的列,而不仅仅是第一个列。只有当所有指定列的值都相同时,才会被视为重复行。

  2. 性能考虑:使用 DISTINCT 会增加查询的开销,因为数据库需要比较和去除重复值。在大数据量的情况下,应该谨慎使用。

  3. 与 NULL 值的关系:DISTINCT 会将所有 NULL 值视为相同的值,只返回一个 NULL。

小结

SQL SELECT DISTINCT 语句是一种用于去除查询结果中重复行的有效方法,它可以帮助我们获取唯一的数据值。在需要确保查询结果中没有重复数据时,非常有用。