zengweiak47

2020-06-16   阅读量: 626

6月16日笔记

扫码加入数据分析学习群

1:WHERE在分组和聚集计算之前筛选行,而HAVING在分组和聚集之后筛选分组的行,因此WHERE子不能包含聚集函数。

2:而HAVING子句是在SELECT子前执行,因此一般不能在HAVING子句中使用select定义的别名。但是MySQL对此作了打展。在mysql 5.7.5之前的版本, ONLY FULL GROUP_ BY sql mode默认不开启。在5.7.5或之后的版本默认开启。

3:如果ONLY_ FULL _GROUP. BY sql mode不开启,那么mysq|对标准SQL的扩展可以生效:

●允许在select、 having和order by中使用没有出现在group by中的字段。此时mysq|会随机选择没有出现在group by中的字段的值。

●允许在having中使用select定义的别名。

拆分表,可以节省存储空间,避免数据冗余,提升查询数据效率.

连接方式

内连接,左连接,右连接.(mysql)

mysql中实现全连接方法--左连接+右连接

mysql中实现左反连接,在左连接的基础上在使用筛选右表中为空值

mysql中实现右反连接,在右连接的基础上在使用筛选左表中为空值

多表查询

优先确定主表

没有明确表示维度完整性的情况下,优先保障度量的准确性

49 -- 查询manager的姓名、 所属部门名称和入职日期: ename , dname , job, hire

执行步骤如下:

5 select ename , dname, job, hiredate

1 from emp

3 inner join dept

2 on emp.deptno=dept . deptno

4 where job= ' manager' ;

语句执行顺序

FROM --WHERE-- GROUP BY-- HAVING-- SELECT-- ORDER BY-- LIMIT

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
30.0006 4 0 关注作者 收藏

评论(0)


暂无数据

推荐课程