1-基礎查詢 select * from employees
2-排序查詢語法:基礎查詢 加上 子句order by
③select 查詢列表
①from 表
②【where 篩選條件】(可選)
④order by 排序列表 【asc / desc】(可選)(公升/降)
預設公升序排列
3-order by 字句中可以是單個字段,多個字段,表示式,函式,別名
4-order by 子句一般是放在查詢語句最後面,,除了limit子句
# 案例 查詢員工資訊,要求工資從高到低排序
select
* from
employees
order by salary desc ;
/*預設公升序 select * from employees order by salary asc (公升序排列時候 asc 可以去掉)*/
##案例 查詢部門編號 >= 90 的員工資訊,按入職時間的先後進行排序
select
* from
employees
where department_id >= 90
order by hiredate asc ;
#案例 按年新高低顯示員工資訊 和 年薪 【按表示式排序】
select
*,salary * 12 * (1+ ifnull(commission_pct, 0)) as 年薪
from
employees
order by salary * 12 * (1+ ifnull(commission_pct, 0)) desc ;
# 案例 按年新高低顯示員工資訊 和 年薪 【按別名排序】
#上方表示式較長 order by 後面支援別名所代表的表示式 可簡化
select
*,salary * 12 * (1+ ifnull(commission_pct, 0)) as 年薪
from
employees
order by 年薪 desc ;
#案例 按姓名的長度顯示員工的姓名和工資 【按函式排序】
select
length(last_name) as 位元組長度,
last_name,
salary
from
employees
order by length(last_name) desc ;
#案例 查詢員工資訊,要求按工資排序,再按員工編號排序
#整體按照salary排序,salary相同,id按照降序排,類似於,排序關鍵字1.2.3.4.....
select
* from
employees
order by salary asc,
employee_id desc ;
# 練習
#1.查詢員工的姓名和部門號和年薪,按年薪降序,按姓名公升序。
select
last_name,
department_id,
salary * 12 * (1+ ifnull(commission_pct, 0)) 年薪
from
employees
order by 年薪 desc,
last_name ;
#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)
/*(length(email))可選,新增上方便檢視length資訊*/
from
employees
where email like '%e%'
order by length(email) desc,
department_id asc ;
SQL之排序檢索 order by子句
由於select語句的輸出是沒有特定的順序,可以使用order by子句來排序檢索出來的結果。注意 order by子句應該保證它是select語句中最後的一條子句。select prod name from products order by prod name 對prod name列以字母順序來...
對於order by子句
order by子句指定排序順序 select username from user order by username 依據username的字母順序對於查詢出來的username進行排序,預設是公升序 a z 也可以進行降序排序,必須指定desc關鍵字 在上面的sql語句變為 select us...
關於子查詢中的order by子句
關於子查詢中能否用order by子句,有以下兩種情況 第一種例如 select a.col1 from a where a.col2 in select b.col2 from b order by b.col1 這種情況下子查詢只是乙個集合,並不需要進行order by。第二種例如 select...