FROM(Azure 流分析)

在 WITH 子句中指定输入流或关联的步骤名称。 FROM 子句始终是任何 SELECT 语句所必需的。

语法

FROM <input_source> [<PARTITION BY clause>] [<TIMESTAMP BY clause>]
  
<PARTITION BY clause> ::== PARTITION BY <key_spec>

<TIMESTAMP BY clause> ::== TIMESTAMP BY scalar_expression [OVER <key_spec>]

<input_source> ::=   
    {   
      *   
      | { input_name |  input_alias }.*   
      | {  
          [ { input_name | input_alias }. ]  
               { column_name }  
     | expression [ [ AS ] column_alias ]  
         }  
      | column_alias = expression   
    }

<key_spec> ::== { column_name | expression } [,... n]

参数

*

指定应返回 FROM 子句中所有输入流中的所有列。 输入源将按 FROM 子句中指定的列在传入流中存在的顺序返回这些列。

input_name | input_alias.*

限制 * 的作用域为指定的输入名称。

column_name

要返回的列名。 限定 column_name 以防止引用不明确,就像 FROM 子句中的两个输入源具有名称重复的列时会发生的情况。

expression

常量、函数以及由一个或多个运算符连接的列名、常量和函数的任意组合,或者是子查询。

Column_alias

查询结果集内替换列名的可选名。 例如,可以为名为 quantity 的列指定别名,如 Quantity、Quantity to Date 或 Qty。 别名还用于指定表达式结果的名称。 column_alias不能在 WHERE、GROUP BY 或 HAVING 子句中使用。

PARTITON BY <key_spec>

根据 <key_spec>将数据分区为子集。 这允许作业并行使用和写入不同的分区。 有关详细信息,请参阅利用 Azure 流分析中的查询并行化

TIMESTAMP by scalar_expression [over <key_spec>]

允许事件按 scalar_expression 而不是到达时间进行时间戳。 OVER 子句可用于为每个非重复键创建独立的时间线。 有关详细信息,请参阅有关 TIMESTAMP BY 的文档。

示例

SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag   
FROM TollTagEntry TIMESTAMP BY EntryTime