MySQL基本查询与内置函数

目录

聚合函数

 分组查询

 内置函数

日期函数

字符串函数

数学函数


聚合函数

COUNT:返回查询到的数据的数量

SUM:返回查询到的数据的总和(数字)

AVG:返回数据的平均值

MAX:返回查询到的数据的最大值

MIN:返回查询到的数据的最小值

 

 count

 

 sum

 

 max,avg

 分组查询

准备三个表:

部门表(部门编号(deptno)。部门名称(dname)。部门所在地点(loc))

员工表(雇员编号(empno)。雇员姓名(ename)。雇员职位(job)。雇员领导编(mgr)。雇佣时间(hiredate)。工资月薪(sal)。奖金(comm)。部门编号(deptno)。

工资等级表  等级(grade)。此等级最低工资(losal)。此等级最高工资(hisal)。

如下:

 显示每个部门的平均工资和最高工资

使用group by子句中指明按照部门号进行分组,在select语句中使用avg函数和max函数,分别查询每个部门的平均工资和最高工资

 补充:SQL语句会先将表中的数据按照部门号进行分组,然后各自在组内做聚合查询得到每个组的平均工资和最高工资。

显示每个部门的每种岗位的平均工资和最低工资

 HAVING 条件

 显示平均工资低于2000的部门和它的平均工资

上条SQL顺序:from emp,group by,select,having

 查询数据时,SQL中各语句的执行顺序如下:

  1. 根据where子句筛选出符合条件的记录。
  2. 根据group by子句对数据进行分组。
  3. 将分组后的数据依次执行select语句。
  4. 根据having子句对分组后的数据进行进一步筛选。
  5. 根据order by子句对数据进行排序。
  6. 根据limit子句筛选若干条记录进行显示。

 内置函数

日期函数

current_date():获取当前日期

current_time():获取当前时间

current_timestamp():获取当前时间戳

now():获取当前日期时间

date(datetime):获取datetime参数的日期部分

date_add(date, interval d_value_type):在date中添加日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second

date_sub(date, interval d_value_type)在date中减去日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second

datediff(date1, date2)获取两个日期的差,单位是天

对部分进行举例:

字符串函数

charset(str):获取字符串使用的字符集

concat(str1, str2 [, …]):获取连接后的字符串

instr(str, substr):获取substr在str中首次出现的位置,没有出现返回0

ucase(str),lcase(str):大小写转换

left(str, length):从字符串的左边开始,向后截取length个字符

length(str):获取字符串占用的字节数

replace(str, search_str, replace_str):将字符串中的search_str替换成replace_st

strcmp(str1, str2):逐字符比较两个字符串的大小

substring(str, position ,[length]):从字符串的position开始,向后截取length个字符

ltrim(str)、rtrim(str)、trim(str):去除字符串的前空格、后空格、前后空格

 对部分进行举例:

charset:

 concat:

 length

 

 substring

 replace

 以首字母小写的方式显示员工表中所有员工的姓名

数学函数

abs(number):取绝对值

rand():生成随机数

ceiling(number):向上取整

floor(number):向下取整

bin(decimal_number):十进制转换成二进制

conv(number, from_base, to_base):from_base进制转换成to_base进制

format(number, n):格式化,保留n位小数(四舍五入)

mod(number, denominator):求余

例如:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值