SQL執(zhí)行順序
按慣例先上SQL Server查詢順序,小括號()里面的數(shù)字代碼數(shù)據(jù)庫引擎在執(zhí)行查詢語句時(shí)候的先后順序,從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>
DISTINCT 語句
在表中,可能會包含重復(fù)值。這并不成問題,不過,有時(shí)您也許希望僅僅列出不同(distinct)的值。
關(guān)鍵詞 DISTINCT 用于返回唯一不同的值。
DISTINCT語法
SELECT DISTINCT 列名稱 FROM 表名稱
使用 DISTINCT 關(guān)鍵詞
我們先看看Orders表中的數(shù)據(jù):
SELECT * FROM Orders;

如果要從 “客戶ID” 列中選取所有的值,我們可以使用如下語句
SELECT 客戶ID FROM Orders
結(jié)果:

如需從 “客戶ID” 列中僅選取唯一不同的值,我們需要使用 SELECT DISTINCT 語句:請注意,在結(jié)果集中,3 被列出了兩次。
SELECT DISTINCT 客戶ID FROM Orders
結(jié)果:

現(xiàn)在,在結(jié)果集中,3 僅被列出了一次。
批注
從上面的例子我們就可以清楚的看到DISTINCT的用法了,就是如果某個(gè)字段或某幾個(gè)字段所對應(yīng)的記錄都重復(fù)了,使用它就可以只顯示一條記錄,它的作用簡而言之就是為了去重。具體使用場景一般像我們要查詢某張訂單表里客戶的編號,但是如果這個(gè)客戶購買了很多產(chǎn)品,那就會產(chǎn)生很多相同的編號,這時(shí)候我們使用DISTINCT,就可以從訂單表中只顯示所有不重復(fù)的客戶編號,就這么個(gè)意思~
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2705686032@qq.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。原文轉(zhuǎn)載: 原文出處: