(8)select (9)distinct(11)<top_specification><select_list>
(1)from <left_table>
(3)<join_type> join <right_table>
(2) on <join_condition>
(4) where <where_condition>
(5) group by <group_by_list>
(6) with {cube|rollup}
(7) having <having_conditon>
(10) order by <order_by_list>
sql语句的执行步骤
1.语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义
2.语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限
3.视图转换,将涉及视图的查询语句转换为相应的对基表查询语句
4.表达式转换,将复杂的sql表达式转换为较简单的等效连接表达式
5.选择优化器,不同的优化器一般产生不同的执行计划
6,选择链接方式,有三种连接方式,对多表连接可选择适当的连接方式
7.选择连接顺序,对多表连接选择哪一对表先连接,选择这两表中哪个表作为源数据表
8.选择数据的搜索路径,根据以上条件选择合适的数据搜索路径,如是选用全表搜索还是利用索引或是其它方式
9.运行执行计划