我自己用来数据分析的excle表格大概是这个样子的:
数据库创建出来的表和这个表格样式上没有太大区别,如果不了解数据库的表长啥样,那就去创建几个表和excel对比一下。
首先,在解释查询语句逻辑之前,要先了解它的执行顺序:
FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY
先从from开始,from获取整个表格的数据,也就是说你要从什么地方取数据就在后面加什么的表名,也就是excel工作簿的名字
where获取符合条件的行数据,比如判断条件是:人物 in('李四','王五','赵六'),那么在excel表格中取出这三行的所有数据。
group by 获取符合条件的列数据,比如判断条件是:人物,事件,数量,那么在excel表格中取出这三列包含的数据。
having 在group by筛选后的数据里,获取符合条件的整行数据,比如判断条件是:数量 > 60,那么在excel表格中取出符合条件的所有数据。
select 把筛选出的数据重新组合形成一张表,这张表可以把函数加在后面,比如avg(),sum()。。
order by 把组合好的表格进行排序,比如判断条件是:数量 desc
需要注意的是:
在用了group by 之后select 后面就不能用 “*”。
举个例子:在水果摊买水果,挑了半天付钱买了一个红彤彤的苹果,然后你伸手一捞,想把水果摊上的全部水果拿走,这水果摊老板能答应吗?
所以这就是不能用“*”的原因。
如果有更多的发现,欢迎沟通。