MySQL學習筆記(3)

  • 排序查詢

  • 簡單排序查詢:員工工資降序(升序)查詢:

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;

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章