SQL 如何使用DISTINCT

SQL 如何使用DISTINCT

SQL DISTINCT 子句用于从结果集中移除重复的列。

当我们避免特定 列/表 中的重复值时,可以使用distinct关键字与select关键字结合使用。当使用distinct关键字时,将获取 唯一值

  • SELECT DISTINCT仅返回不同的
  • DISTINCT从表中消除重复记录。
  • DISTINCT可以与聚合函数 COUNT,AVG,MAX 等一起使用。
  • DISTINCT仅适用于单个列。
  • 不支持使用多个列的DISTINCT。

语法:

SELECT DISTINCT expressions
FROM tables
[WHERE conditions];

参数:

expressions: 我们想要检索的列或计算被称为表达式。

tables: 我们想要检索记录的数据表。FROM子句中只有一个表。

WHERE条件: 满足记录的条件,这是可选的。

注意:

  • DISTINCT 子句中提供一个表达式时,查询将返回表达式的唯一值。
  • 如果 DISTINCT 子句中提供多个表达式,则查询将检索所列出表达式的唯一组合。
  • 在SQL中, DISTINCT 子句不能忽略NULL值。因此,当我们在SQL语句中使用DISTINCT子句时,结果集将包括NULL作为一个不同的值。

示例:

考虑以下 员工 表。

SQL 如何使用DISTINCT

首先,让我们看一下以下SELECT查询返回的重复薪水记录。

SQL> SELECT SALARY FROM EMPLOYEES
ORDER BY SALARY;

当我们执行以上SQL查询时,它会获取所有记录,包括重复的记录。在上面的表中,Newton和Johnson的薪水相同,为20000。

SQL 如何使用DISTINCT

现在,让我们在上面的SELECT查询中使用 DISTINCT 关键字。

SQL> SELECT DISTINCT SALARY FROM EMPLOYEES
ORDER BY SALARY;

上述SQL查询删除了重复记录,并显示了以下结果。

SQL 如何使用DISTINCT

示例:查找列中的唯一值

查看 DISTINCT子句 以查找表中某一列中的唯一值。

我们有一个名为 suppliers 的表,其中包含以下数据:

SQL 如何使用DISTINCT

从上表中,我们将找到唯一的状态。

SELECT DISTINCT state
FROM suppliers
ORDER BY state;

这是 six the 的记录。

SQL 如何使用DISTINCT

这个例子从供应商表中返回唯一的状态,并从结果集中删除重复的记录。

例子:查找多个列中的唯一值

SQL DISTINCT 子句用于从 SELECT 语句中的多个字段中移除重复的记录。

输入 SQL 语句:

SELECT DISTINCT city, state
FROM suppliers
ORDER BY city, state;

输出:

这是8个记录:

SQL 如何使用DISTINCT

该示例返回每个唯一的 城市和州 组合。我们看到 Redwood CityCalifornia 在结果集中出现。

示例:DISTINCT子句处理NULL值

DISTINCT子句将 NULL 视为 SQL 中的唯一值。我们有一个名为 products 的表,其中包含以下数据。

SQL 如何使用DISTINCT

选择包含空值的字段fruit_id中的唯一值。 输入以下 SQL 语法:

SELECT DISTINCT fruit_id
FROM fruits
ORDER BY category_id;

有四条记录被选中。以下是我们看到的结果:

SQL 如何使用DISTINCT

在上面的示例中,该查询返回了在 category_id 列中的唯一值。我们可以通过结果集中的第一行看到, NULL 是一个特殊值,由 DISTINCT 子句返回。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程