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;

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值