mysql-select语句进阶,排序,常见函数,分组,连接

本文深入解析SQL查询语句的构造,包括排序、分组、连接等操作,并详细介绍了常用的字符、数学及日期函数,帮助读者掌握高效的数据检索与处理技巧。
  1. 排序查询:select 查询列表
    from 表名
    【where 查询条件】
    order by 排序列表名 【asc|desc】(asc 升序(默认)desc降序)支持多个字段排序,先排哪个就写前面,当第一个出现重复时,重复的按第二个字段排序,
    order by语句一般放在查询语句的最后面,limit语句除外

  2. 常见函数
    1,字符函数
    length()获取参数集的字节个数例如 select length(‘join’)
    concat(拼接字符串,concat(first ’-‘ last)使用下划线拼接first和last列表的信息
    **upper() lower()**把字符变大写,变小写
    substr | substring,截取字符中指定索引串的字符(索引从1开始)
    instr(串,子串)返回字串出现第一次的位置,如果找不到返回0
    trim(‘a’ from ‘aaaa张翠aaaa山aaaaa’)去掉前后的a,输出张翠山aaaa
    lpad()/rpad() 实现指定字符左/右填充 指定字符的长度
    例如 select lpad('张翠山‘,10,’*‘)输出结果‘*******张翠山’
    **replace()**替换,例如select replace(‘张无忌爱上周芷若’,‘周芷若’,'赵敏’)
    round四舍五入round(1.5)取2,round(1.667,1)取1.7,取小数点后一位。
    ceil向上取整(大于等于该数的最小整数1.03取 1,-1.03取-1)floor向下取整
    truncate截断,truncate(1.667,1)得1.6,(小数点后1位截断)

  3. 日期函数
    select now();返回当前日期+时间
    select curdate();返回当前日期
    select curtime();返回当前时间
    select str_to_date(‘1998-3-1’,’%Y-%c-%d)指定字符转换成日期格式
    select date_format(now(),’%Y年%m月%d日’)

  4. 函数
    IF 可以使用三目运算
    select if(10>5,‘大’,‘小’);
    和IYOU在这里插入图片描述
    还有

  5. 分组函数
    sun()求和 avg 平均值min最小值 max最大值 count计数
    在这里插入图片描述
    复杂分组关系,需要用分组后的表来查询
    在group by后使用having连接条件

在这里插入图片描述
在这里插入图片描述分组函数做条件一定是放在having子句中
能使用分组前筛选的,优先使用分组前筛选
6. 连接查询
在这里插入图片描述
自连接,就是与自身连接,这个时候避免有歧义,给表起别名的好处就显现出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值