mysql之排序查詢08

2021-10-19 17:32:00 字數 1656 閱讀 5771

#高階3:排序查詢

/*語法:

select 查詢列表

from 表名

【where 篩選條件】

order by 排序的字段或表示式;

特點:1、asc代表的是公升序,可以省略

desc代表的是降序

2、order by子句可以支援 單個字段、別名、表示式、函式、多個字段

3、order by子句在查詢語句的最後面,除了limit子句

*/#1、按單個字段排序

select * from employees order by salary desc;

#2、新增篩選條件再排序

#案例:查詢部門編號》=90的員工資訊,並按員工編號降序

select *

from employees

where department_id>=90

order by employee_id desc;

#3、按表示式排序

#案例:查詢員工資訊 按年薪降序

select *,salary*12*(1+ifnull(commission_pct,0))

from employees

order by salary*12*(1+ifnull(commission_pct,0)) desc;

#4、按別名排序

#案例:查詢員工資訊 按年薪公升序

select *,salary*12*(1+ifnull(commission_pct,0)) 年薪

from employees

order by 年薪 asc;

#5、按函式排序

#案例:查詢員工名,並且按名字的長度降序

select length(last_name),last_name

from employees

order by length(last_name) desc;

#6、按多個字段排序

#案例:查詢員工資訊,要求先按工資降序,再按employee_id公升序

select *

from employees

order by salary desc,employee_id asc;

#1.查詢員工的姓名和部門號和年薪,按年薪降序 按姓名公升序

select last_name,department_id,salary*12*(1+ifnull(commission_pct,0)) 年薪

from employees

order by 年薪 desc,last_name asc;

#2.選擇工資不在8000到17000的員工的姓名和工資,按工資降序

select last_name,salary

from employees

where salary not between 8000 and 17000

order by salary desc;

#3.查詢郵箱中包含e的員工資訊,並先按郵箱的位元組數降序,再按部門號公升序

select *,length(email)

from employees

where email like '%e%'

order by length(email) desc,department_id asc;

day08查詢,排序

氣泡排序japi呼叫程式程式設計介面 注意導包否則就要寫類全名 包名.類名 只寫類名,預設在本包中找 那個陣列方法因為是傳引用,所以不需要返回值 題目中也沒要求返回陣列 氣泡排序 依次比較相鄰兩個元素 1 巢狀迴圈 2 內層迴圈取決於外層迴圈 3 需要乙個中間變數 選擇排序 第乙個依次和剩餘的元素比...

mysql優化之mysql查詢效能排序分析

mysql 查詢效能排序,從左至右,效能由最差到最好 all index range ref eq ref const system null 1.all 全表掃瞄 例 select from user 2.index 索引全掃瞄 例 select id from user 3.range 索引範圍...

mysql查詢字段排序 mysql 排序查詢字段

mysql 排序查詢字段 閱讀 504 排序查詢 語法 select 查詢欄位1 from 表 where 篩選條件 order by 要排序欄位2 asc公升序 desc 降序,要排字段3 asc公升序 desc降序 如果不寫預設為公升序 案例 查詢員工資訊,要求工資從高到低排序 select f...