MySQL复习记录【一】:查询及常见函数

本文详细介绍了SQL中的查询技巧,包括按条件筛选、排序及组合查询。同时,讲解了单行函数如length、concat、substr等字符函数,以及math、date等函数的使用方法,帮助读者深入理解SQL中的数据处理和转换操作。
摘要由CSDN通过智能技术生成

查询

# 查询员工的姓名和部分号和年薪,按照年薪降序和姓名升序
SELECT last_name, department_id, salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 DESC, last_name ASC;

# 选择工资不在8000到17000的员工的姓名和工资,按照工资降序
SELECT last_name, salary
FROM employees
WHERE salary NOT BETWEEN 8000 AND 17000
ORDER BY salary DESC;

# 查询邮箱中包含e的员工信息,并先按照邮箱的字节数降序,再按照部门号升序
SELECT *
FROM employees
WHERE email LIKE '%e%'
ORDER BY LENGTH(email) DESC, department_id ASC;

函数

常见函数
好处:1、隐藏了实现细节;2、提高代码的重用性
分类:
1、单行函数
如:concat,length,ifnull等
字符函数、数学函数、日期函数、其他函数、流程控制函数
2、分组函数
功能:做统计使用的,又称为统计函数、聚合函数

字符函数

# 一、字符函数

# 1.length 获取参数值的字节个数
SHOW VARIABLES LIKE '%char%'

# 2.concat 拼接字符串

# 3.upper和lower
# 将姓变大写,名变小写,然后拼接

SELECT CONCAT(UPPER(last_name),'_',LOWER(first_name)) 姓名
FROM employees;

# 4.substr, substring 索引从1开始
# 截取从指定索引处后面所有字符
SELECT SUBSTR('李莫愁爱上了陆展元',7)  out_put;

# 截取从指定索引处,指定字符长度的字符
SELECT SUBSTR('李莫愁爱上了陆展元',1,3)  out_put; #3是李莫愁的长度

# 5.instr 返回指定字符串第一次出现的索引,如果找不到返回0
SELECT INSTR('杨不悔爱上了殷六侠','殷六侠') AS out_put

# 6.trim 去前后空格
SELECT TRIM('    张翠山       ') AS out_put;

SELECT TRIM('a' FROM 'aaaaaaa张翠山aaaaaaa') AS out_put;
# 结果:张翠山

SELECT TRIM('a' FROM 'aaaaaaa张翠aaaaa山aaaaaaa') AS out_put; 
# 结果:张翠aaaaa山

# 7.lpad 用指定的字符实现左填充指定长度
SELECT LPAD('殷素素',10,'*') AS out_put;

# rpad 用指定的字符实现右填充指定长度

# 8.replace 替换
SELECT REPLACE('张无忌爱上了周芷若','周芷若','赵敏') AS out_put;

数学函数

# 1.round四舍五入
SELECT ROUND(-1.62) # 结果:-2
SELECT ROUND(-1.567,2) # 结果:-1.57 小数点后保留

# 2.ceil向上取整,返回>=该参数的最小整数
SELECT CEIL(-1.02); #结果:-1

# 3.floor向下取整,返回<=该参数的最小整数
SELECT FLOOR(-9.99); #结果:-10

# 4. truncate截断
SELECT TRUNCATE(1.6999,1);  #结果1.6;

# 5.mod取余
#mod(a,b) : a-a/b*b
SELECT MOD(-10,-3); #结果-1;

日期函数

# 1.now 返回当前系统日期+时间
SELECT NOW();

# 2.curdate 返回当前系统日期,不包含时间
SELECT CURDATE();

# 3.curtime 返回当前系统时间,不包含日期
SELECT CURTIME();

# 4.获取指定的部分,年、月、日、小时、分钟、秒
SELECT YEAR('1998-1-1');
SELECT MONTH('1998-1-1');
SELECT MONTHNAME('1998-1-1');

# 5.str_to_date:将日期格式的字符转换成指定格式的日期
SELECT STR_TO_DATE('1992-3-8','%Y-%c-%d') AS out_put;

# 实例:查询入职日期为1992-4-3的员工信息;
SELECT * FROM employees 
WHERE hiredate = '1992-4-3';

SELECT * FROM employees 
WHERE hiredate = STR_TO_DATE('4-3 1992','%c-%d %Y');

# 6.date_format 将日期转换成字符
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日')

其中涉及的符号:
在这里插入图片描述

其它函数

一般指一些系统函数

# 查看SQL版本
SELECT VERSION();

# 查看当前数据库
SELECT DATABASE();

# 查看当前用户
SELECT USER();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值