# 高階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 欄位...