DQL命令
Posted tiffany-yz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DQL命令相关的知识,希望对你有一定的参考价值。
1) from:读取流;将硬盘上表文件加载到内存。定位内存中已经存在的临时表
2) where:将临时表满足条件的数据行摘取出来保存到一个全新临时表。
where在执行时,一次只操作一个数据行,所以在where中不能使用聚合函数函数
3) group by: 将具有相同特征数据行分配到同一个临时表
4) having: having不能独立使用,必须声明在group by后面。
having将group by生成的临时表中不满足条件的临时表进行销毁。
【having和where】区别:
where 一次操作一个数据行,不能使用聚合函数,where将满足条件数据保存到一个全新临时表
having 一次操作一个临时表,只能使用聚合函数, having将不满足条件的临时表进行销毁
5)select:
如果面对临时表来自于(where / from)提供,此时面对的临时表个数只有一个。
此时select将当前临时表指定字段所有的数据读取出来组成一个全新的临时表
如果面对临时表来自于(gorup by / having)提供,此时面对的临时表个数往往多个.
此时select一次读取每一个临时表。在读取某一个临时表只会读取指定字段的第一行数据。
分组查询之后,select读取的字段应该是【分组字段】,读取数据组成一个全新临时表
6)order by: 对select生成的临时表内容进行重新排序。order by使用排序字段,只能来自于select
生成的临时表提供的字段
7)limit
以上是关于DQL命令的主要内容,如果未能解决你的问题,请参考以下文章