From
作用:
- 将硬盘上的表文件加载到内存中,生成一个全新的临时表
注意 :
1.在一个查询语句中,第一个执行的命令永远是from
2.from 定位的是内存中的一个临时表,这个临时表必须手动指定表名
where
作用:
1.where命令操作的油from命令生成的临时表
2. where命令循环遍历当前临时表中每一个数据行 将满足条件的数据行保存到一个全新的临时表注意
由于where 命令每次只是操作一个数据行,因此 在 where使用过程中,是无法使用聚合函数作为判断条件
Group by
作用:
1.首先对临时表中的数据进行一次排序处理
2.然后将具有相同特征的数据行 保存到同一个临时表中注意
1.多字段分组 首先,分组字段执行的顺序对于查询结果来说是没有任何影响的,从第二个分组字段开始,操作的临时表是上一个分组字段所生成的临时表(每进行一次分组字段 就会 在内存中产生一个新表)
如果select 操作临时表是由group by 提供的,此时select 将取便利group by 生成的每一个临时表 。在操作具体的临时表时,select只会去读取指定字段中的第一个数据行的内容
HAVING
作用:
负责将group by 所生成的临时表中不满足条件的临时表进行删除处理注意
having 命令不能独立出现,只能出现在group by 后 having 每次操作的是一个临时表,因此选择的判断条件应该来自于聚合函数
SELECT
作用:
1.如果select 操作的临时表,由from命令或者where命令来提供的。 select 将指定字段中所有内容 读取出来 将读取的内容来组成一个全新的临时表
2.select 操作临时表,如果select 操作临时表是由group by && Having提供的,此时select 将取便利group by 生成的每一个临时表 。在操作具体的临时表时,select只会去读取指定字段中的第一个数据行的内容
ORDER BY
作用:
专门针对select 生成的临时表中的数据行进行排序 将排序的内容生成全新的临时表
注意
如果order by使用字段名进行排序时,字段名可以不出现在select所生成的临时表中 如果order by使用字段顺序进行排序时,索引位置必须在select 查询语句中出现
limit (mysql 特有)
作用 对临时表中的数据行进行截取