对于数据分析师而言,基本只使用sql里面的查询方法,满足这个最基本的需求,只有十几个单词,并不难,我们只甚至十几分钟就可以学完最基础的语法,但是我们常常听说某某学长在xxx写了一年的sql,成了sqlboy,这又是为啥呢,因为它的难点在于实际运用当中我们想要的数据当中的逻辑。
sql基础查询的语法顺序
select -- 取列
from -- 选取表
where -- 某个条件
group by -- 分组
order by -- 排序
最简单的结构
我们只需要三个单词就可以完成一个简单的查询,它相当于一个哲学问题,就是告诉计算机数据库你要的数据:从那里来,要到哪里去,要干什么。
select costomer_id
from customers
where costomer_id = '10'
分组结构
这就相当于对我们所需要的数据根据一定的标签进行分组,下面的例子是我们根据顾客的地址分的组
select *
from customers
group by state
连接函数(join)结构
join在实际应用当中是不可缺少的,也是在笔试sql中必考的。
join有四种情况
left join -- 保留左表的所有信息
right join -- 保留右表的所有信息
inner join -- 两张关联的表取交集
full join -- 两张关联的表取并集
连接函数很抽象,最难的就是逻辑思维的过程
开窗函数
lead/lag -- 推进(一个是向上推,一个是向下推)
over -- 开窗函数