MySQL必知必會 第5章 排序檢索資料

2021-09-29 01:49:40 字數 1071 閱讀 6895

1 order by子句基本介紹

子句:sql語句由子句構成,有些子句是必須的,有些子句是可選的。

例如:select語句的from子句

為了明確地排序用select語句檢索出的資料,可使用order by子句

order by子句可以取乙個或多個列的名字,據此對輸出進行排序

可以通過非選擇列進行排序

比如:乙個學生表(student)包含學號(sid)、成績(grade)兩個屬性

可以輸入如下命令:select sid

from student

order by grade;

這句命令就是通過非選擇列進行排序,就是按照學生成績高低來輸出學生的學號

2 按多個列排序

命令格式:select 列名 from 表名 order by 列名1,列名2

命令含義:先按照列名1進行排序,如果列名1相同,在按照列名2進行排序

比如:乙個學生表(student)包含學號(sid)、成績(grade)、學生姓名(name)屬性

想輸入按照學生成績高低排列的學生姓名,如果學生成績相同,按照學號大小排列學生姓名

命令:select name from student order by grade,sid;

注意:當且僅當表中包含成績相同的學生記錄時,才會按照學號排序;

如果表中不包含成績相同的學生記錄,按照學號排序不起作用

3 按指定方向排序

預設是公升序排序(asc),如果採用降序排序,必須指定desc

命令格式:select 列名 from 表名 order by 列名1 desc,列名2;

命令含義:先將資料按照列名1降序排列,如果有記錄存在列名1的取值相同,再按照列名2公升序排列(未特殊指明即是公升序排列)

注意:desc只對其緊跟的列名起作用,如果要設定多個列進行降序排序,必須對每個列指定desc關鍵字

關於子句的順序:使用子句的次序不對將產生錯誤訊息。order by子句必須位於from子句之後,limit子句必須位於order by子句之後

《MYSQL必知必會》第1 9章

資料庫基礎 資料庫 儲存有組織的資料的容器 表 某種特定型別資料的結構化清單 列 表中的乙個字段資料型別 所容許的資料的型別 行 表中的乙個記錄 主鍵 一列,其值能夠唯一區分表中每個行 sql是結構化查詢語言 structured query language 的縮寫 mysql 簡介 mysql是...

mysql必知必會 5

like 操作符 1.百分號 任何字元出現任意次數 以jet開頭的 select 列名1 from 表名 where 列名 like jet 可以對兩端進行搜尋 long 也可以是中間位置s e 2.下劃線單個字元 select 列名1 from 表名 where 列名 like jet 模糊查詢會...

mysql必知必會 mysql必知必會(四)

十四 理解子查詢 1 通過子查詢過濾 這本書在所有的章節都關連到了資料庫表,訂單資料是儲存在兩個表中,orders表儲存著 訂單號碼 顧客id和訂單日期。個人的訂單列表關連著orderitems表,訂單表沒有儲存顧客資訊,它只是儲存著顧客id,這實際的顧客資訊是儲存在customers表中。現在假設...