Mysql基础(2)
文章目录
一、排序查询
1.语法
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('字符’):返回该字符的密码形式
三、流程控制函数
四、分组函数
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.特点
六、连接查询
1.含义
当查询中涉及到了多个表的字段,需要使用多表连接
select 字段1,字段2
from 表1,表2,…;
2.分类
按年代分类
sql92:
等值
非等值
自连接
也支持一部分外连接(用于oracle、sqlserver,mysql不支持 )
sql99:【推荐使用】
内连接:
等值
非等值
自连接
外连接:
左外
右外
全外(mysql不支持)