查询代码片段

通常,复制之前的内容进行修改比从头编写内容要简单得多。 对常见的 JOIN 语句或复杂的 CASE 表达式来说尤其如此。 查询列表在不断扩充,因此很难记住哪些查询包含你需要的语句。 你还可以创建一个包含插入点的查询代码片段,并在插入点放置用户可以在运行时替换的占位符文本。

查询片段是可以通过自动完成来共享和触发的查询的一部分。 将查询代码片段用于:

  • 常用的 JOIN 语句
  • 复杂子句,例如 WITH 或 CASE。
  • 条件格式

下面是代码片段的示例:

--Simple snippet
WHERE fare_amount > 100

--Snippet with an insertion point for a value to be provided at runtime
WHERE fare_amount > ${1:value}

--Snippet with an insertion point for a value to be provided at runtime and containing a default value
WHERE fare_amount > ${1:100}

--Snippet with multiple insertion points
WHERE fare_amount > ${2:min_value} AND fare_amount < ${1:max_value} AND trip_distance < ${0:max_distance}

创建查询代码片段

可以从 SQL、笔记本或文件编辑器创建查询片段。 执行以下步骤:

  1. 在新 SQL 编辑器中,单击 “Kebab”菜单图标。 烤肉串菜单,然后单击“ 视图”。

    在笔记本或文件编辑器中,单击“ 查看”。

  2. 单击 “查询片段”。

  3. 单击“创建查询代码片段”。

  4. 在“替换”字段中,输入代码片段名称。 编写使用该代码片段的查询时,将使用此名称。

  5. (可选)输入说明。

  6. 在片段字段中,输入该片段。

  7. 单击 “创建” 。

    查询片段

使用查询代码片段

查询代码片段可用于任何 SQL 查询。 可以在 SQL 编辑器、笔记本 SQL 单元格、SQL 文件和 AI/BI 仪表板查询中访问查询片段。

下面是一个简单查询示例,你可通过它使用这些查询片段:

--Simple query
SELECT * FROM samples.nyctaxi.trips

通过以下步骤在此查询中使用一个查询代码片段:

  1. 打开 SQL 编辑器。

  2. 在 SQL 编辑器查询窗格中键入你的查询。

  3. 开始键入查询代码段的名称,然后从“自动完成”窗口中选择它。

    在 SQL 编辑器中,您还可以通过 Control+Space 手动打开窗口,然后选择代码片段。

    用于选择代码片段的查询

  4. 使用查询代码片段中的 WHERE 子句执行查询。

    显示查询中使用的代码片段的查询

查询片段中的插入点的使用

可以通过用一个美元符号和大括号 ${} 将整数的标签序号括起来,从而指定插入点。 前面带有一个冒号 : 的文本占位符是可选的,但对不熟悉你的片段的用户来说很有用。 在前面创建的插入点的查询代码片段中, ${1:value} 是包含占位符的插入点,并且 ${1:100} 是一个插入点,其中包含可在运行时重写的占位符的默认值。 当 Databricks SQL 呈现代码片段时,将去除美元符号 $ 和大括号 {} ,并突出显示替换字词 value 或默认值 100 。

当有多个插入点时,文本插入光标会跳转到第一个插入点,提示输入所需的值。 当您按下 Tab 时,光标会跳到下一个插入点,以便输入下一个数值。 再次按下 Tab 后,光标将跳转到下一个插入点行,直到到达最后一个插入点。

注意

零 ${0} 的插入点始终是 Tab 键顺序中的最后一个点。

请使用以下步骤,将插入点查询代码片段应用于查询:

  1. 打开 SQL 编辑器。

  2. 在 SQL 编辑器查询窗格中键入你的查询。

  3. 键入查询代码段名称的前三个字母,然后选择包含插入点的查询代码段,而不使用默认值。

    系统会将查询代码片段添加到查询中,文本插入光标将跳转到插入点。

    使用无默认值的插入点查询片段进行查询

  4. 为 WHERE 子句输入一个值,例如 200。

  5. (可选)使用 WHERE 查询代码片段中的子句运行查询。

  6. 重复前面的步骤,但通过默认值来选择包含插入点的查询代码段。

    查询使用包含默认值的插入点代码片段

  7. 重复前面的步骤,但选择包含多个插入点的查询代码片段。

    使用包含多个插入点的查询代码片段进行查询

  8. 输入第一个插入点的值,按 Tab 键进入下一个插入点,然后输入一个值,然后按 Tab 键进入最终插入点并输入一个值。