MySQL复习

MySQL:
函数:
一:字符函数:
1.concat 拼接字符

2.截取字符串
substr (str,起始索引,截取的字符串)
select SUBSTR(t.url,1,5) from tet t

3.instr 获取字符第一次出现的索引
select INSTR('6666啊啊啊啊啊6666啊啊啊啊啊','6666');

4.trim 去前后指定的字符,默认是去空格
select trim(‘虚 竹 ’) as a;
select trim('k' from 'xxxxxx虚xxxx竹xxxxxxxxxxxxxxxxx') as a,

5.upper/lower 变大写/变小写
二。数学函数
ABS 绝对值
select ABS(-2.4);
2.cell 向上取整
select cell(0.09); 1
3.FLOOR向下取整,返回 <=该参数的最大整数
select cell(0.09); 1
4.round 四舍五入
select round(1.8798789);
5.truncate 截断
select truncate (1.488798,1);

三。日期函数
1.Now
2.DATE_FORMAT
四:if函数:
1.case函数
情况1:
case 表达式
when 值1 then 结果1
when 值2 then 结果2
...
else 结果n
end

五:分组函数
分组函数往往用于实现将一组数据进行统计计算,最终得到一个值,有成为聚合函数或者
统计函数。
分组函数清单:
sum(字段名):求和
AVG(字段名):求平均值
max(字段名):求最大值
min(字段名):求最小值
count(字段名):计算非空字段的

1.count统计结果集的行数:
推荐使用count(*)
2.搭配distinct实现去重的统计
需求:查询有几个部门

子查询:说明当一个查询语句中又嵌套了另一个完整的select语句,则被嵌套的select
语句称为子查询或内查询外面的select 语句称为主查询或外查询。

分类:按子查询出现的位置进行分类:
1.select后面:要求:子查询的结果为单行单列(标量查询)
2.from后面:要求:子查询的结果可以为多行多列
3.where或having后面: 要求:子查询的结果必须为单列,单行子查询,多行子查询
4.exists后面:要求:子查询结果必须为单列(相关子查询)。

特点:
1.子查询放在条件中,要求必须放在条件的右侧
2.子查询一般放在小括号中
3.子查询的执行优先于主查询
4.单行子查询对应了 单行操作符:> < <= >= = <>
多行子查询对应了 单行操作符:any/some all in

SELECT
employee_id,
last_name,
salary
FROM
employees
WHERE
salary > ( SELECT AVG( e.salary ) FROM employees e )

原文地址:https://www.cnblogs.com/qijiang123/p/14823269.html