这两年学会了跑sql,当时有很多同学帮助我精进了这个技能,现在也写成一个小教程,反馈给大家。
适用对象:工作中能接触到sql查询平台的业务同学(例如有数据查询权限的产品与运营同学)
适用场景:查询hive&mysql上的数据
文档优势:比起各类从零起步的教程教材,理解门槛低,有效信息密度大,可以覆盖高频业务场景。
文末有一些常见的小技巧,希望帮助同学们提升工作效率。
SQL的基础结构:
做一个类比,我们用的“表”,就像是一个账本,每天就是一个“分区”,“字段”就是日记上记的不同的事情,例如支出、收入、物品和价格等;
一般来讲sql有如下结构,意思是从表α.table里面,获取某一天的abc三个字段,后面的讲解都是在这个基础上展开的:
select a,b,c //select后面输入需要查询的字段fromα.table //from后面输入需要查询的表名wheredate='yymmdd' //where后面输入需要卡的条件,例如只看哪天的数据
多个条件同时生效-and和or
and的用法//表示多条件同时生效
select a,b,c //select后面输入需要查询的字段fromα.table //from后面输入需要查询的表名where date='yymmdd' //where后面输入需要卡的条件,例如只看哪天的数据and //表示要看date='yymmdd' 且id='XXX'id=XXX
or的用法//表示有一个条件生效即可
select a,b,c //select后面输入需要查询的字段fromα.table //from后面输入需要查询的表名where date='yymmdd' //where后面输入需要卡的条件,例如只看哪天的数据and (id=XXXor d_id=XXX) //表示要看date='yymmdd' ,且id是xxx或d_id是xxx的数据。如果没有这个括号,表示的是要看date是yymmdd且id是xxx,或者不分日期,d_id是xxx的数据