select 语句的元素

逻辑处理顺序:

有必要在学Sql之前,先了解一些基础的东西,select语句的目标是对表进行查询、应用一定的逻辑处理,并返回结果。在大多数编程语言中,代码行是按照它们的编写顺序来执行处理的,而在sql中,情况有些不同,即使select子句在查询中最先出现,在逻辑上差不多是最后才处理的。

各子句在逻辑上按以下顺序进行处理。

  1.From

    From子句是在逻辑处理阶段第一个要处理的查询子句。这个子句用于指定要查询的表名,以及对这些表进行操作的表运算符。

  2.Where

    Where子句中,可以指定一个谓词或者逻辑表达式。

  3.Group By

    Group By 阶段可以将前面逻辑查询处理阶段返回的行按“组”进行组合。每个组由在Group By子句中指定的各元素决定。

  4.Having

    Having子句用于指定对组进行过滤的谓词或者逻辑表达式,这与where阶段对单独的行进行过滤相对应。只有能让having子句中逻辑表达式为true的组,having阶段才会把这些组返回到下一个逻辑查询处理阶段。逻辑表达式计算结果为false或者unknown的组将被过滤掉。

  5.Select

    Select子句用于指定需要在查询返回的结果集中包含的属性(列)。select列表中的表达式可以直接基于正在查询的表的各个列,也可以在此基础上作进一步的处理。

  6.Order By

    Order By子句用于展现数据时对输出的结果中的行进行排序。

  7.Top

    Top选项是T-SQL特有的,用于限制查询返回的行数或百分比。

  8.Over

    Over子句用于为行定义一个窗口(Window:即是用户指定的一组行),以便进行特定的运输。可以把行的窗口简单地认为是运算将要操作的一个行的集合。

(建议sql语句每句结束的时候,使用分号)

原文地址:https://www.cnblogs.com/micronm/p/1996678.html