按惯例先上SQL Server查询顺序,小括号()里面的数字代码数据库引擎在执行查询语句时候的先后顺序,从1开始:

(​8​)​SELECT​ (​9​)​DISTINCT​  (​11​)​<​Top Num​>​ <​select list​>(​1​)FROM [left_table]
(​3​)​<​join_type​>​ 
JOIN​ <​right_table​>(​2​)        ON <​join_condition​>(​4​)WHERE <​where_condition​>(​5​)GROUP BY <​group_by_list​>(​6​)WITH <​CUBE |​ RollUP​>(​7​)HAVING <​having_condition​>(​10​)ORDER BY <​order_by_list​>​ 

SQL SELECT DISTINCT 语句

在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

关键词 DISTINCT 用于返回唯一不同的值。

语法:

SELECT DISTINCT 列名称 FROM 表名称

使用 DISTINCT 关键词

如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句:

SELECT Company FROM Orders

"Orders"表:

Company

OrderNumber

IBM

3532

Microsoft

2356

Apple

4698

Microsoft

6953

结果:

Company

IBM

Microsoft

Apple

Microsoft

请注意,在结果集中,Microsoft 被列出了两次。

如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:

SELECT DISTINCT Company FROM Orders

结果:

Company

IBM

Microsoft

Apple

现在,在结果集中,"Microsoft" 仅被列出了一次。


从上面的例子我们就可以清楚的看到DISTINCT的用法了,就是如果某个字段或某几个字段所对应的记录都重复了,使用它就可以只显示一条记录,它的作用简而言之就是为了​去重。具体使用场景一般像我们要查询某张订单表里客户的编号,但是如果这个客户购买了很多产品,那就会产生很多相同的编号,这时候我们使用DISTINCT,就可以从订单表中只显示所有不重复的客户编号,就这么个意思~

长按下面的二维码关注我们,更多学习经验/教辅资料应有尽有,觉得文章写的不错还望能分享给您的朋友,感谢您的支持~

SQL基础知识普及(二)——DISTINCT_microsoft