查询语句的逻辑处理顺序

查询语句的结构:

lselect语句用来从一个或多个表中或者其他数据库对象中提取数据。

lfrom子句列出了所查询数据的源对象。这个子句可以包含表、视图、物化视图、分区或子分区,或者可以建立一个子查询来生成子对象。

lwhere子句提供了一种方法,可以按照条件来限制查询最终返回结果集的行数。此处比较的结果要么是匹配(true),要么是不匹配(false)。{事实上,SQL中逻辑比较的可能结果是truefalse以及未知,当其中包含空值(null)的时候比较结果就会是未知。空值与任何值比较或者表达式中都会得到空值,或者是未知}

lgroup by子句将执行fromwhere子句后得到的经过筛选后的结果集进行聚合。

lhaving子句将分组汇总后的查询结果限定为只有该子句中的条件为真的数据行。

lorder by子句用来对查询最终返回的结果集进行排序。

5      select <column  list>

1      from <source object  list>

1.1   from left <source object  list> on <on predicates>

2     where <where  predicates>

3     group by <group by  expression(s)>

4     having <having  predicates>

6      order by <order by  list>


你可能感兴趣的:(数据库,查询语句,处理顺序)