mysql查询语句处理

时间:2023-03-08 20:39:05

mysql查询语句处理mysql查询语句处理

两表做链接查询,   mysql查询语句处理

查理处理顺序各个阶段:

1) From: 对From子句中的坐标<left_table>和右表<right_table>执行笛卡尔积,产生虚拟表T1;

2)On : 对虚拟表T1应用 On筛选,只有那些符合<join_condition>的行才被插入虚拟表T2中;

3)Join:如果指定了OUTER JOIN (如left outer join,right outer join ,)那么表流标为匹配的行作为外部行添加到T2中,产生T3;

4)where : 对虚拟表T3应用where过滤条件,只有符合<where_condition>的行才被插入到T4中;

5)group by: 根据group by 子句中的列,对T4中的记录进行分组操作,产生T5

6)having: 对T5应用having过滤,只有符合<having_condition>的记录才被插入到虚拟表T7中;

7)select,

8)distinct ,去掉重复数据(建立内存临时表,表过大,产生磁盘IO,并对去重列叫unqie key)

9)order by

10)limit