本文详细介绍了如何使用 SQL 获取不重复的数据,包括以下 :
使用 DISTINCT 关键字
**DISTINCT** 关键字可用于删除结果集中重复的行。例如:
sql
SELECT DISTINCT name FROM customers;
此查询将从 **customers** 表中选择所有不重复的 **name** 列值。
使用 GROUP BY 子句
**GROUP BY** 子句可用于将数据分组并根据组值选择唯一行。例如:
sql
SELECT city, COUNT(*) AS customer_count
FROM customers
GROUP BY city;
此查询将对 **customers** 表按城市进行分组,并计算每个城市中客户的数量。它将仅选择每个城市的一次。
使用 UNION 运算符
**UNION** 运算符可用于合并两个或多个查询结果,同时删除重复行。例如:
sql
SELECT name FROM customers
UNION
SELECT name FROM orders;
此查询将从 **customers** 和 **orders** 表中选择所有不重复的 **name** 列值。
使用 INTERSECT 运算符
**INTERSECT** 运算符可用于获取两个或多个查询结果中公共的重复行。例如:
sql
SELECT name FROM customers
INTERSECT
SELECT name FROM orders;
此查询将从 **customers** 和 **orders** 表中选择仅出现在两个表中的 **name** 列值。
使用 EXCEPT 运算符
**EXCEPT** 运算符可用于获取出现在第一个查询结果中但不出现在第二个查询结果中的行。例如:
sql
SELECT name FROM customers
EXCEPT
SELECT name FROM orders;
此查询将从 **customers** 表中选择仅出现在 **customers** 表中但不出现在 **orders** 表中的 **name** 列值。