Mysql基础(2)

一、排序查询

1.语法

Mysql基础(2)

2.特点

1.asc : 升序 如果不写,默认升序
desc: 降序
2.排序列表支持单个字段、多个字段、函数、表达式、别名
3.order by的位置一般放在查询语句的最后(除limit语句之外)

二、常用函数

1.概述

功能:类似于java中的方法
好处:提高重用性和隐藏实现细节

2.字符函数

concat:连接
substr:截取子串
upper/lower:变大、小写
replace:替换
length:获取字节长度
trim:去前后空格
lpad/rpad:左、右填充

3.数字函数

ceil:向上取整
round:四舍五入
mod:取模
floor:向下取整
truncate:截断
rand:获取随机数,返回0–1之间的小数

4.日期函数

now:返回当前日期+时间
year:返回年
month:返回月
day:返回日
date_format:将日期转换成字符
curdate:返回当前日期
str_to_date:将字符转换成日期
curtime:返回当前时间
datediff:返回两个日期相差的天数

5.其他函数

version 当前数据库服务的版本
datebase 当前打开的数据库
user:当前用户
password('字符’):返回该字符的密码形式

三、流程控制函数

Mysql基础(2)
Mysql基础(2)

四、分组函数

1.分类

max :最大值
min: 最小值
sum: 和
avg: 平均值
count: 计算个数

2.特点

1.语法
select max(字段) from 表名;
2.支持类型
sum和avg一般用于处理数值型
max,min 、count可以处理任何数据类型
3.以上分组函数都忽略null
4.都可以搭配distinct使用,实现去重的统计
select sum(distinct 字段)from 表
5.count函数
count(字段):统计该字段非空值的个数
count(*) 统计结果集的行数

五、分组查询

1.语法

select 分组函数,分组后的字段
from 表
【where 筛选条件】
group by 分组字段
【having 分组后的筛选】
【order by排序列表】

2.特点

Mysql基础(2)

六、连接查询

1.含义

当查询中涉及到了多个表的字段,需要使用多表连接
select 字段1,字段2
from 表1,表2,…;

Mysql基础(2)

2.分类

按年代分类
sql92:
等值
非等值
自连接

也支持一部分外连接(用于oracle、sqlserver,mysql不支持 )

sql99:【推荐使用】
内连接:
等值
非等值
自连接

外连接:
左外
右外
全外(mysql不支持)

Mysql基础(2)
Mysql基础(2)