下面是出现问题的数据,它们的emp_id_numbers都是唯一的:
上面的情形告诉我们:使用关键字distinct的时候,要确保不会无意中删除有效数据!
三、关键字Distinct与Group By的区别
使用distinct与不使用聚合功能情况下对全选所有栏数据进行分组的逻辑效果是一样的。对于这样的查询,group by命令只是生产了一列分组后的值。在显示某栏并对齐分组的时候,该查询会给出该栏中不同的值。然而,在显示多栏并对它们进行分组的时候,该查询会给出每栏中的值的不同的组和。例如,以下查询生成的结果与第一个SELECT distinct命令的结果完全一样:
SELECT name
FROM fruits
GROUP BY name;
FROM fruits
GROUP BY name;
同样地,以下语句生成的结果,与我们的SELECT distinct语句在员工表上生成的结果也完全一样:
SELECT name,
gender,
salary
FROM employees
GROUP BY name;
gender,
salary
FROM employees
GROUP BY name;