(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.运行执行计划