第三章 MySql-DQL


排序查詢(升序)

select 
      hiredate 
from 
      employees 
order by hiredate asc ;

排序查詢(降序)

select 
        hiredate 
from    employees 
order by hiredate desc ;

查詢員工信息,要求工資從高到低排序

select 
         *
from 
        employees  salary order by salary desc;

查詢部門編號 >= 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 ;

查詢 按年薪的高低顯示員工信息 和 年薪 (按別名排序)


select 
         *,salary*12*(1+ifnull(commission_pct,0)) as "年薪"
from 
         employees
order by 年薪 desc ;

按姓名的長度顯示員工的姓名和工資【按函數排序】

select 
        last_name,salary,length(last_name) as "姓名長度"
from  
        employees
order by length(last_name) desc;

查詢員工信息,要求先按工資升序,再按員工編號降序序

注意:如果你排序的這兩列其中一列中有相同的數據的話
會導致另外一列排序的大小有大的在前面,如下圖:
select  
        salary,employee_id 
from 
        employees 
order by salary asc ,employee_id desc;

下面是練習題

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

select
        last_name as "姓名",
        department_id "部門號",
        salary*12*(1+ifnull(commission_pct,0)) as "年薪"
 from
        employees
 order by 年薪 desc,last_name asc;
  • 2.查詢工資不在8000到17000的員工的姓名和工資,按工資降序排列;

select
       salary
from
     employees
where salary not between 8000 and 17000
order by salary desc;
  • 3.查詢郵箱中包含e的員工信息,并且按郵箱的字節(jié)數降序,再按部門號升序

select
      *
from
      employees
where email like '%e%'
order by length(email) desc ,department_id asc ;
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容