mysql干货总结

sql语句,mysql/sql server/oracle/hive都有一些差别,企业常用的一般是MySQL和hive,但是大同小异,不同部分百度即可。以下主要总结工作中常用的重点和难点。

一 常见语法
1.1 句式
select distinct case when 列名 条件 then 取值 else 取值 end as 别名
from 表 a inner/left/right join 表b on a.字段=/>/<b.字段
where 条件(like/between/in)
group by 字段 having 字段计数>1
order by 字段
limit 10
注意,distinct 是对后面所有字段的重复项去重,分组条件只能用having写,group by后的字段在前面一定要有,on在多表查询里是连接的条件。case when then else end语法用于条件的取值。

1.2 各类函数
日期函数,两日期之差datediff,加上几天dateadd,取年月日extract,year,datepart,时间戳转日期,from_unixtime,系统日期sysdate
数字函数,计数count,求和sum,幂函数power
文本函数,拼接concat/concat_ws/group_concat,分割substring/substring_index/left,替换replace,正则表达式[A-Z]{2,3}+*?/d/D
格式互转函数,把文本转日期等cast/convert_as

掌握了以上基本就是掌握了重点,示例请自行百度理解,旁人不可代替。
二 常见用法
重点:1 以上语法的意义了解,可以解决绝大部分
2 以下4个语句,表字段基本是uid,log_time,从中可以看到一些灵活的用法,如自连接和case,3个表以上的join。
在这里插入图片描述在这里插入图片描述难点:1 查询优化,explain看sql执行顺序,小表驱动大表,建立索引,分区存表等都可以优化查询速度,具体也可以自行百度。数据量非常大时需要跑半小时,可以先小量跑看语句是否正确,再大量跑
2 mysq 和hive sql的区别。hive sql没有exist,对分号不友好,hive sql的本质是把sql写成map reduce程序执行,可以学习下。

三 工作中碰到的其他问题。
暂时无。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值