MySQL資料庫 第四章 排序查詢

2021-08-30 08:56:03 字數 1651 閱讀 1479

#高階3:排序查詢

語法:select 查詢列表——————③

from 表名——————①

where 條件——————②

order by 排序列表 asc|desc;——————④

特點:1、

asc代表的是公升序。公升序是預設行為

desc代表的是降序。

2、排序列表支援單個字段、表示式、函式、別名,也支援以上的組合

3、order by子句一般放在查詢語句的最後!

#1、通過單個字段進行簡單的排序

#案例;按工資降序

select * from employees order by salary desc;

#2、通過表示式進行排序

#案例:查詢員工編號》110的姓名、編號、年薪,並且按年薪公升序

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

from employees

where employee_id>110

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

#3、通過別名進行排序

#案例:查詢員工編號》110的姓名、編號、年薪,並且按年薪降序

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

from employees

where employee_id>110

order by 年薪 desc;

#4、通過函式的結果進行排序

#案例:按姓名的長度進行公升序

select length(last_name) len,last_name

from employees

order by len;

#5、支援按多個欄位或多個表示式排序

#案例:先按姓名的長度進行公升序,然後再按姓名的字元進行降序

select length(last_name) len,last_name

from employees

order by len,last_name desc;

#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 *

from employees

where email like '%e%'

order by length(email) desc,department_id asc;

資料庫第四章

資料庫的安全性是指保護資料庫以防止不合法使用所造成的資料洩露 更改或破壞 系統安全保護措施是否有效是資料庫系統主要的效能指標之一。通過 sql 的grant 語句和revoke 語句實現 1.grant grant語句的一般格式 grant 許可權 許可權 on 物件型別 物件名 物件型別 物件名 ...

資料庫第四章總結

1.資料庫的不安全因素 1.非授權使用者對資料庫的惡意訪問和破壞 2.資料庫中重要或敏感的資料被洩露 3.安全環境的脆弱性 2.tcsec tdi,從四個方面 來描述安全性級別劃分的指標 安全策略 責任 保證 文件 3.tcsec tdi安全級別劃分 d c c1,c2 b b1,b2,b3 a a...

第四章 資料庫操作

資料庫常用物件 1.表是包含資料庫中所有資料的資料庫物件,由行和列組成,用於組織和儲存資料。2.欄位 表中每列稱為乙個字段,字段具有自己的屬性,如欄位型別 字段大小等。其中,字段型別是字段最重要的屬性,它決定了字段能夠儲存哪種型別。sql規範支援5種基本字段型別 字元型 文字型 數值型 邏輯型和日期...