按惯例先上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"表:
请注意,在结果集中,Microsoft 被列出了两次。
如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:
SELECT DISTINCT Company FROM Orders
结果:
现在,在结果集中,"Microsoft" 仅被列出了一次。
从上面的例子我们就可以清楚的看到DISTINCT的用法了,就是如果某个字段或某几个字段所对应的记录都重复了,使用它就可以只显示一条记录,它的作用简而言之就是为了去重。具体使用场景一般像我们要查询某张订单表里客户的编号,但是如果这个客户购买了很多产品,那就会产生很多相同的编号,这时候我们使用DISTINCT,就可以从订单表中只显示所有不重复的客户编号,就这么个意思~