MySQL排序檢索數(shù)據(jù)操作方法梳理
前言
本實驗中所用數(shù)據(jù)庫創(chuàng)建SQL語句以及插入數(shù)據(jù)到數(shù)據(jù)庫中的SQL語句鏈接:
鏈接: https://pan.baidu.com/s/14q4kBP9vGVbOU_4Ggo07GQ?pwd=4w4y
提取碼:4w4y
書接上回說到,MySQL檢索數(shù)據(jù)
本篇文章主要介紹如何使用 select 的 MySQL 語言,根據(jù)我們的想要排序檢索出的數(shù)據(jù)。
1. 排序數(shù)據(jù)
檢索出的數(shù)據(jù)不是隨機顯示的,若不排序,數(shù)據(jù)以其在表中出現(xiàn)的順序顯示。關系數(shù)據(jù)庫設計理論認為,如果不規(guī)定排序順序,則不能假定檢索出的數(shù)據(jù)的順序有任何意義。
為了明確地排序用 select 語句檢索出的數(shù)據(jù),可以使用 order by 字句 取一個或多個列的名字,以此對輸出進行排序
如下:
select prod_name from Products order by prod_name;
注意: order by 字句的位置一定是 select 語句的最后一條字句,如果不是最后一條字句,將會出錯
2. 按多個列排序
通常我們不只需要按單個列排序,而是需要按多個列排序,當?shù)谝粋€列相等時,按第二個列排序…以此類推。這是,我們只需要將需要排序的多個列間用逗號隔開即可。
如下: 先按 prod_price 排序,prod_price 相同時,按照 prod_name 排序
select prod_id, prod_price, prod_name from Products order by prod_price, prod_name;
3. 按列位置排序
order by 字句還支持按照列位置進行排序,這種方法的好處是不需要重新輸入列名。但是它也有缺點,比如進行排序的列必須在 select 清單中,并且這種方式當 select 清單變化時容易造成錯誤。
如下:2, 3 分別表示 select 清單中的第二(prod_price),第三列(prod_name)
select prod_id, prod_price, prod_name from Products order by 2, 3;
4. 指定排序方式(升序或者降序)
order by 默認為升序排序 (asc),可以通過指定 desc 關鍵字來實現(xiàn)降序排序
如下: 通過在 order by 字句的最后加上 desc,實現(xiàn)降序排序
select prod_id, prod_price, prod_name from Products order by prod_price desc;
思考:當我們需要對多個列降序排序時,應該怎么寫呢?
desc 作用域問題: desc 關鍵字只作用于直接位于其前面的列名,因此若是想要對多個列降序排序,需要在需要降序排序的每個列的最后都加上 desc 關鍵字
如下: 按照 prod_price 降序排序,當 prod_price 相同時,按照 prod_id 降序排序;同理,當 prod_id 相同時,按照 prod_name 降序排序。
select prod_id, prod_price, prod_name from Products order by prod_price desc, prod_id desc, prod_name desc;
注: desc 只作用于直接位于其前面的列名的特點,使得我們可以很好的定制化排序,在需要降序排序的列后加 desc,而其他列仍然可以按照升序排序,這種機制非常靈活。
5. 擴展—文本性數(shù)據(jù)如何排序
在對文本性數(shù)據(jù)進行排序時,A與a是否相同;a位于B之前,還是Z之后,取決于數(shù)據(jù)庫的設計方式。
實際上,在字典排序順序中,A被視為與a相同,大部分數(shù)據(jù)庫也采取這種默認做法。要想改變這種行為,可以求助數(shù)據(jù)庫管理員的幫助,許多DBMS容許數(shù)據(jù)庫管理員改變這種行為。
到此這篇關于MySQL排序檢索數(shù)據(jù)操作方法梳理的文章就介紹到這了,更多相關MySQL檢索數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Mysql中批量替換某個字段的部分數(shù)據(jù)(推薦)
這篇文章主要介紹了Mysql中批量替換某個字段的部分數(shù)據(jù),通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
關于MySQL中savepoint語句使用時所出現(xiàn)的錯誤
這篇文章主要介紹了關于MySQL中savepoint語句使用時所出現(xiàn)的錯誤,字符串出現(xiàn)e時所產(chǎn)生的問題也被作為MySQL的bug進行過提交,需要的朋友可以參考下2015-05-05
mysql數(shù)據(jù)庫視圖和執(zhí)行計劃實戰(zhàn)案例
這篇文章主要給大家介紹了關于mysql數(shù)據(jù)庫視圖和執(zhí)行計劃的相關資料,在使用MySQL過程中視圖和執(zhí)行計劃是一個很好的工具,文中通過圖文以及代碼介紹的非常詳細,需要的朋友可以參考下2024-02-02
MYSQL必知必會讀書筆記第四章之檢索數(shù)據(jù)
MySQL是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。接下來通過本文給大家介紹MYSQL必知必會讀書筆記第四章之檢索數(shù)據(jù),感興趣的朋友一起學習吧2016-05-05
windows環(huán)境下mysql數(shù)據(jù)庫的主從同步備份步驟(單向同步)
本文主要是向大家描述的是在windows環(huán)境之下實現(xiàn)MySQL數(shù)據(jù)庫的主從同步備份的正確操作方案,以下就是文章的詳細內(nèi)容描述2011-05-05

