选择不同的简介

选择不同在某些情况下,您可能希望从字段中检索数据,同时也希望消除查询输出中的重复结果。SELECT DISTINCT语句可以与条件(如特定列)一起使用,以从表中检索唯一的字段数据。从字段请求唯一值可能有许多不同的原因。SELECT DISTINCT语句对于那些涉及分析和报告的任务非常有用。

开始探索SQL查询?

Select Distinct语句的基本语法如下:

SELECT DISTINCT

来自;

SELECT UNIQUE和SELECT DISTINCT的区别

SELECT UNIQUE:有人可能会说,有一些“明显的”不同的陈述(双关语)。虽然SELECT UNIQUE和SELECT DISTINCT是同义词,因为这两个查询基本上执行相同的功能,但DISTINCT已经成为标准的SQL关键字。UNIQUE和DISTINCT是Oracle保留的关键字。建议使用DISTINCT关键字,因为它比UNIQUE关键字有更多的支持。

想要关注标准SQL的扩展,如Oracle SQL?

使用Select Distinct.

有时间看看有用的独特条款的行动与一些相关概念的一些演示。

第一个例子:

在第一个示例中,您有一个表用于跟踪学生在本学期注册的类。学校希望有一份学生注册的独特课程,因为他们希望看到这一学期正在使用哪些可用的课程。

学生课程注册表内容:学生ID号和类名称

表名称:注册

列:student_id,student_class

从入学SELECT *;

学生卡 student_class.
04521 Oracle 101.
04522 介绍SQL
04523 介绍SQL
04524. 数据库管理
04525. 报告生成
04526. 数据库管理
04527 数据库管理
04528 数据库管理
04529. Oracle 101.
04530. 数据库管理
04531. 介绍SQL
04532 数据库管理
04533 数据库管理

你可以看到“数据库管理”似乎是这学期最受欢迎的一门课;然而,学校现在并不想看哪个班最受欢迎。学校要求查看这学期上了哪些课,我们将使用SELECT DISTINCT来满足他们的要求。SELECT DISTINCT将与STUDENT_CLASS列和注册表一起使用。

选择Distint Student_Class.

入学;

student_class.
Oracle 101.
介绍SQL
数据库管理
报告生成

现在你可以看到这学期选的不同课程的列表。

我们的第二个例子:

第二个例子是用于杂志出版的表。发布公司希望看到其订阅者所在的不同引用的列表,可以使用SELECT DISTINCT语句以及用于订阅者配置文件的表和城市列来检索与订阅者配置文件关联的唯一城市。在杂志出版物的情况下,如果使用SELECT语句而不使用DISTINCT子句,那么它们的输出将包含城市的重复情况,这些城市在确定其订阅者居住的城市时效率不高,输出将相对复杂。

订户位置配置文件表内容:客户ID号、客户所在城市和客户状态

表名称:位置

列:cust_id,cust_city和cust_state

从地点选择*

cust_id. cust_city. CUST_STATE
101 弗洛伊德 纽约
202 罗利 北卡罗莱纳
303 弗洛伊德 维吉尼亚州
404 路易斯维尔 肯塔基州
505 威明顿 北卡罗莱纳
606. 威明顿 北卡罗莱纳

正如您所看到的,弗洛伊德市有多个条目,威尔明顿市的一个以上的条目

您可以使用以下方法从CUST_CITY列中选择唯一的值:

选择DISTINCT CUST_CITY.

从地点;

cust_city.
弗洛伊德
罗利
路易斯维尔
威明顿

从输出中消除了重复值。“等待......已经有不同状态的参赛作品,两者都有名为Floyd在地点表”,人们可以表达。在这种情况下,我们的查询应该变得更加精致。

对于查找唯一值时应包含多个列的情况,可以将不同的关键字与表和列的组合一起使用。在我们的示例中,组合Cust_City和Cust_State列将是合适的。

选择distinct cust_city,cust_state

从地点;

cust_city. CUST_STATE
弗洛伊德 纽约
罗利 北卡罗莱纳
弗洛伊德 维吉尼亚州
路易斯维尔 肯塔基州
威明顿 北卡罗莱纳

现在,您看到唯一的位置显示,因为所有城市状态​​组合都是唯一的。

然后,您可以通过使用Order By子句以有序方式显示输出。请注意,如果在SELECT DISTINCE查询中使用列的组合,则还应与ORDER BY子句一起使用相同的列组合。

选择distinct cust_city,cust_state

从位置

Cust_city,Cust_State订购;

cust_city. CUST_STATE
弗洛伊德 纽约
弗洛伊德 维吉尼亚州
路易斯维尔 肯塔基州
罗利 北卡罗莱纳
威明顿 北卡罗莱纳

第三个例子:

在第三个示例中,您有一个持有拼写比赛的组织的表。组织请求查看哪些单词已错拼写。

比赛表格内容:参赛人数及拼错词。

表名称:拼写错误

列:参赛者_Num和Contreentant_Word

SELECT * FROM拼错的;

CONTESTANT_NUM 参赛者_Wo​​rd.
01. 毫无疑问
02. 小测验
03. 消失
04. 解释
05. 消失
06. 演习
07. 发音
08. 毅力
09. 解释
10. 优先级

正如你所看到的,一些单词被拼错的情况不止一次发生在参赛者身上。

选择不同的CONTESTANT_WORD

拼写错误;

参赛者_Wo​​rd.
毫无疑问
小测验
消失
解释
演习
发音
毅力
解释
优先级

在这种情况下,您发现查询不仅可以帮助您找到唯一值,而且您的查询还可以帮助您发现一个错误地输入数据库的单词。我们可以看到显示“解释”以及“解释”。您可以进行更正的信息,然后可以执行查询,该查询将显示以下输出:

参赛者_Wo​​rd.
毫无疑问
小测验
消失
解释
演习
发音
毅力
优先级

然后我们可以使用ORDER BY以有序的格式显示结果:

选择不同的CONTESTANT_WORD

拼错

由CONTESTANT_WORD秩序;

参赛者_Wo​​rd.
消失
解释
演习
毅力
优先级
发音
小测验
毫无疑问

结论

选择DISTINCT从字段中检索唯一的值,该字段可以帮助阵列可根据报告数据库输入定位错误。准备探索SQL报告服务?

不仅选择了检索所请求的数据的不同帮助,还可以帮助确保以更容易读取的方式显示输出。

SQL顶级课程

全面的SQL课程2021
Malvik Vaghadia
4.8 (30)
热和新的
SQL编程基础知识
全球学院
4.4 (120)
SQL和PostgreSQL:完整的开发人员指南
Stephen主梁
4.7 (1,485)
评价最高
完整的SQL Bootcamp 2021:从零到英雄
何塞Portilla
4.7 (99458)
畅销书
Ultimate MySQL BootCamp:从SQL初学者到专家
柯尔特·斯蒂尔,这是伊恩·斯库诺弗
4.6 (54525)
畅销书
SQL - MySQL的数据分析和商业智能
365年职业生涯
4.6 (27949)
畅销书
高级SQL: SQL专家认证准备课程
Oracle Master Training•全球90,000多名学生,古典明星学院
4.5 (2,232)
完整的SQL和数据库Bootcamp:零掌握[2021]
安德烈Neageie,Mo Binni
4.6 (1,496)
SQL for初学者:使用MySQL和数据库设计学习SQL
Tim Buchalka的学习编程学院,Jon Avis - SQL教练
4.5 (11547)
SQL & PostgreSQL初学者:成为一个SQL专家
Jon Avis - SQL教练
4.6 (3255)
畅销书

多个SQL课程

SQL学生也学习

赋予你的团队。引领行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示