MySQL基礎005 DQL語言之排序查詢

2022-09-01 19:54:15 字數 2010 閱讀 5048

# 高階3: 排序查詢

/*引入:

select * from employees;

語法:select 查詢列表

from 表

【where 篩選條件】

order by 排序列表【asc||desc】

特點: 1.asc代表的是公升序,desc代表的是降序

2.如果不寫,預設是asc公升序

*/# 案例1:查詢員工資訊,要求工資從高到低排序

select

*from

employees

order by

salary desc;

#案例2: 查詢部門編號》=90的員工資訊,按入職時間的先後順序進行排序【新增篩選條件】

select

*from

employees

where

department_id >=90

order by

hiredate asc;

#案例3: 按年薪的高低顯示員工的資訊和年薪【按表示式排序】

select

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

as 年薪

from

employees

order by

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

#案例4: 按年薪的高低顯示員工的資訊和年薪【按別名排序】

select

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

as 年薪

from

employees

order by

年薪 desc;

# 案例5:按姓名的長度顯示員工的姓名和工資【按函式排序】

select length('john');

select

length(last_name)

as 位元組長度,

last_name,

salary

from

employees

order by

位元組長度 desc;

# 案例6: 查詢員工資訊,要求先按工資公升序,再按員工編號降序【按多個字段排序】

select *

from employees

order by salary asc, employee_id desc;

案例1: 查詢員工的姓名和部門號和年薪,按年薪降序 按姓名公升序
select 

concat(`first_name`,' ',`last_name`) as 姓名,

department_id,

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

from

employees

order by

年薪 desc, 姓名 asc;

案例2: 選擇工資不在 8000 到 17000 的員工的姓名和工資,按工資降序
select

concat(first_name,' ',last_name) as 姓名,

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;

mysql之DQL語言 基礎查詢

一 語法 select 查詢列表 from 表名 二 特點 1 查詢列表可以是字段 常量 表示式 函式,也可以是多個 2 查詢結果是乙個虛擬表 三 示例 1 查詢單個字段 select 欄位名 from 表名 2 查詢多個字段 select 欄位名,欄位名 from 表名 3 查詢所有字段 sele...

DQL語言之基礎查詢(mysql)

語法 select 查詢列表 from 表名 特點 1 查詢列表可以是 表中的字段 常量值 表示式 函式 2 查詢的結果是乙個虛擬的 use course 1 查詢表中的單個字段 select credit from course 2 查詢表中的多個字段 select credit,name cla...

DQL語言 基礎查詢

一,語法 select 查詢列表 from 表名 二,特點 1,查詢列表可以是字段,常量,表示式,函式 2,查詢結果是虛擬表 示例 1,查詢單個字段 select 欄位名 from 表名 select department id from departments 2,查詢多個字段 select 欄位...