USE test;
SHOW TABLES;
SELECT
employee_name,salary
FROM
employee
ORDER BY
salary
DESC;
運行結果:
DESC #降序
ASC #升序
#不寫默認是升序
- 複雜排序查詢:含有where的條件篩選排序查詢:
計算員工年薪並降序查詢
USE test;
SHOW TABLES;
SELECT
employee_id,employee_name,salary*12*(1+IFNULL(bonus_rate,0)) AS yearly_salary,department
FROM
employee
ORDER BY
salary*12*(1+IFNULL(bonus_rate,0))
DESC;
也可以將order by後的字段改爲別名
USE test;
SHOW TABLES;
SELECT
employee_id,employee_name,salary*12*(1+IFNULL(bonus_rate,0)) AS yearly_salary,department
FROM
employee
ORDER BY
yearly_salary
DESC;
1.length(str):統計字符的字節個數
USE test;
SHOW TABLES;
SELECT
employee_name,LENGTH(employee_name)
FROM
employee;
USE test;
SHOW TABLES;
SELECT
employee_name,branch_company,LENGTH(branch_company)
FROM
employee;
由於MySql是utf8編碼集,所以中文每個字符佔三個字節。
2.upper(str):將字符串全部字符改爲大寫
lower(str):將字符串全部字符改爲小寫
3.substr():字符串子串函數,可以重載
USE test;
SHOW TABLES;
#substr第一個參數爲字符串,第二個參數爲子串起始位置,第三個參數爲子串長度
#MySQL中索引從1開始
SELECT
employee_name,SUBSTR(birth_date,1,4) AS birth_year
FROM
employee;
USE test;
SHOW TABLES;
#substr第一個參數爲字符串,第二個參數爲子串起始位置
#最終返回起始位置之後的所有子串
#MySQL中索引從1開始
SELECT
employee_name,SUBSTR(birth_date,6)
FROM
employee;
4. instr(str,substr):返回子串在字符串中第一次出現的起始位置。
5. trim(str):去掉字符串前後的空格
6. lpad(str,len,char):用指定的字符(char)左填充字符串(str)指定長度(len)。
7.rpad(str,len,char):用指定的字符(char)右填充字符串(str)指定長度(len)。
8.replace(str,from_str,to_str):將字符串str中的from_str全部替換成to_str。
SELECT
*,REPLACE(branch_company,"深圳","北京") AS 分公司
FROM
employee;