SQL编程思想:基于5种主流数据库代码实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人


2.2.5 排除重复数据

查询语句有可能会返回重复的数据,我们可以使用DISTINCT关键字排除查询结果中的重复记录。例如,以下语句查找员工表中的所有不同性别:

其中,DISTINCT关键字位于SELECT之后,而不像其他过滤条件一样位于WHERE子句中。查询返回的结果如下:

提示:在Oracle数据库中,可以使用UNIQUE关键字替代DISTINCT。在MySQL中,可以使用DISTINCTROW关键字替代DISTINCT。

另外,DISTINCT也可以用于多个字段的去重。例如,以下语句查找不同部门编号和性别的所有组合:

查询返回的结果如下:

提示:除了DISTINCT,我们也可以使用ALL关键字返回不排除重复数据的结果。不过通常没有必要,因为使用ALL是默认的行为。