SQL執行順序
按慣例先上SQL Server查詢順序,小括號()里面的數字代碼數據庫引擎在執行查詢語句時候的先后順序,從1開始:
(8)SELECT
(9)DISTINCT
(11)<top Num> <lect 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>
ORDER BY作用
ORDER BY 關鍵字用于對結果集進行排序。
ORDER BY 關鍵字
ORDER BY 關鍵字用于按升序(ASC)或降序(DESC)對結果集進行排序。
ORDER BY 關鍵字默認情況下按升序(ASC)排序記錄,默認排序可以不寫ASC。
如果需要按降序對記錄進行排序,可以使用DESC關鍵字,不可省略。
ORDER BY 語法
SELECT column1, column2, ... FROM table_nameORDER BY column1, column2, ... ASC|DESC;
示例數據庫
以下是 "Customers" 表中的數據:
ORDER BY 實例
下面的 SQL 語句從 "Customers" 表中選取所有客戶,并按照 "省份" 列排序:
實例:
SELECT * FROM CustomersORDER BY 省份;
結果:
這里排序方式默認是升序。這里排序規則,是按照省份里的拼音首字母的ASCII規則排序的。例如北京市首字母是B,廣東省的首字母是G,湖北省的首字母是H,上海市的首字母是S,浙江省的首字母是Z。排序后就是上述結果了,如果排序的首字母相同,則比較第二位字母,依次類推。
ORDER BY DESC 實例
下面的 SQL 語句從 "Customers" 表中選取所有客戶,并按照 "省份" 列降序排序:
實例:
SELECT * FROM CustomersORDER BY 省份 DESC;
結果:
加了DESC后排序方式變成了降序,排序規則與升序相反。
ORDER BY 多列 實例
為了讓大家更加好理解,我們在Customers表中添加兩行數據。
SET IDENTITY_INSERT [dbo].[Customers] ONINSERT INTO [dbo].[Customers] (客戶ID,姓名,地址,城市,郵編,省份)VALUES( 6, '宋一', '花城大道21號', '廣州', '510000', '廣東省' ), ( 7, '劉二', '長安街121號', '北京', '100000', '北京市' )SET IDENTITY_INSERT [dbo].[Customers] OFF;
添加數據后的Customers表如下:
下面的 SQL 語句從 "Customers" 表中選取所有客戶,并按照 "省份" 和 "姓名" 列排序:
實例:
SELECT * FROM CustomersORDER BY 省份, 姓名;
結果:
可以看到,對省份排序的時候,北京市和廣東省各出現了兩條。這時候再對姓名這一列的拼音首字母進行排序。在省份一致的前提下,劉二的首字母是L,趙七的首字母是Z,所以劉二排在趙七的前面。同理宋一的首字母是S,王五的首字母是W,所以宋一排在王五的前面。
ORDER BY 多列 實例2
以下SQL語句從"Customers" 表中選擇所有客戶,按 "省份" 升序排列,并按 "姓名" 列降序排列:
SELECT * FROM Customers ORDER BY 省份 ASC, 姓名 DESC;
結果:
對姓名進行降序排列后,姓名的排序結果與升序相反。
批注
ORDER BY就是對需要排序的列進行升序或降序排列后顯示數據,與Excel的排序類似,只需要記住在默認情況下是升序排列,可以不寫關鍵字ASC,但是降序的情況下必須寫DESC,常與TOP關鍵字一起使用。
本文發布于:2023-02-28 20:57:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167771069798520.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:IDENTITYINSERT(identity insert設置為off怎么辦).doc
本文 PDF 下載地址:IDENTITYINSERT(identity insert設置為off怎么辦).pdf
| 留言與評論(共有 0 條評論) |