使用 SQL 查询编辑器进行查询

适用于:Microsoft Fabric 中的 SQL 分析终结点仓库镜像数据库

本文介绍如何使用 Microsoft Fabric 门户中的 SQL 查询编辑器快速高效地编写查询,以及如何最好地查看所需信息的建议。

SQL 查询编辑器支持 IntelliSense、代码完成、语法突出显示、客户端分析和验证。 可以运行数据定义语言 (DDL)、数据操作语言 (DML) 和数据控制语言 (DCL) 语句。

Fabric 门户中的 SQL 查询编辑器

SQL 查询编辑器提供了一个文本编辑器,用于使用 T-SQL 编写查询。 若要访问内置的 SQL 查询编辑器:

  • 使用功能区中的“新建 SQL 查询”按钮创建新查询

    显示功能区中“新建查询”菜单位置的屏幕截图。

  • 如果选择“SQL 模板”下拉列表,则可以使用填充在你的 SQL 查询窗口中的代码模板来轻松创建 T-SQL 对象,如下图所示

    显示功能区中 SQL 模板位置的屏幕截图。

处理 SQL 查询时,查询会每隔几秒自动保存一次。 查询选项卡中会显示“正在保存”指示器,指示正在保存查询。

用于数据预览、查询和建模的选项卡之间的多任务

数据预览、查询和建模体验将作为单独的选项卡打开,你可以在编辑器中执行多任务操作。 如果你正在编写查询,可以在查看数据预览和查看你正在编写查询的表之间的关系之间切换。 要查看或关闭所有选项卡,请选择所有选项卡右侧的图标。

显示数据预览、查询和建模选项卡位置的屏幕截图。

查看查询结果

编写 T-SQL 查询后,选择“运行”以执行查询。

“结果”预览显示在“结果”部分。 如果返回的行数超过 10,000 行,则预览会限制为 10,000 行。 可以在结果网格中搜索字符串,以获取与搜索条件匹配的筛选行。 “消息”选项卡显示运行 SQL 查询时返回的 SQL 消息。

状态栏指示查询状态、运行持续时间以及结果中返回的行数和列数。

要启用“另存为视图”、“另存为表”、“在 Excel 中打开”、“浏览此数据(预览版)”和“可视化结果”菜单,请在 SQL 查询编辑器中突出显示包含 SELECT 语句的 SQL 语句。

查询编辑器窗口的屏幕截图。命令按钮用红色方框标出。

另存为视图

可以选择该查询,然后使用“另存为视图”按钮将查询另存为视图。 选择有权创建视图的架构的名称,提供视图的名称,并在确认创建视图之前验证 SQL 语句。 成功创建视图后,它将显示在资源管理器中。

屏幕截图显示如何使用“另存为视图”菜单。

另存为表

可以使用“另存为表”将查询结果保存到表中。 选择要在其中保存结果的仓库,选择有权创建表格的架构并提供表名称,以便使用 CREATE TABLE AS SELECT 语句将结果加载到表中。 成功创建表后,它将显示在资源管理器中。

屏幕截图显示如何使用“另存为表”菜单。

在 Excel 中打开

在 Excel 中打开”按钮将在 Excel 中打开相应的 T-SQL 查询并执行查询,从而支持你在本地计算机上处理 Microsoft Excel 中的结果。

屏幕截图显示如何使用“在 Excel 中打开”文件菜单。

按照以下步骤在本地处理 Excel 文件:

  1. 选择“继续”按钮后,在 Windows 文件资源管理器中(例如,在浏览器的“下载”文件夹中)找到下载的 Excel 文件。

  2. 要查看数据,请选择“受保护视图”功能区中的“启用编辑”按钮,然后选择“安全警告”功能区中的“启用内容”按钮。 启用两者后,将会显示以下对话框,以批准运行列出的查询。 Microsoft Excel 中的屏幕截图,其中显示了“本机数据库查询”对话框。

  3. 选择运行

  4. 使用 Microsoft 帐户选项对帐户进行身份验证。 选择“连接” 。 Microsoft Excel 中的屏幕截图,其中显示了“SQL Server 数据库”对话框。

成功登录后,你将看到电子表格中显示的数据。

浏览此数据(预览版)

“探索此数据(预览版)”提供对查询结果执行临时探索的功能。 借助此功能,可以启动并排矩阵和视觉视图,以便用户首先更好地了解查询结果背后的任何趋势或模式,然后再进一步生成完整的 Power BI 报表。 有关详细信息,请参阅探索 Power BI 服务中的数据

将结果可视化

通过“可视化结果”功能,你可以在 SQL 查询编辑器中根据查询结果创建报表。

显示如何使用“可视化结果”的屏幕截图。

复制

“复制”下拉列表使你可在数据网格中复制结果和/或列名称。 可以选择复制带有列名的结果、仅复制结果、或仅复制列名。

显示“复制”下拉菜单中的选项的屏幕截图。

多个结果集

运行多个查询并返回多个结果后,可以选择结果下拉列表以查看单个结果。

查询编辑器窗口与结果的屏幕截图。

跨仓库查询

有关跨仓库查询的详细信息,请参阅跨仓库查询

可以通过三部命名约定来编写 T-SQL 查询,以引用对象并跨仓库联接它们,例如:

SELECT 
   emp.Employee
   ,SUM(Profit) AS TotalProfit
   ,SUM(Quantity) AS TotalQuantitySold
FROM
   [SampleWarehouse].[dbo].[DimEmployee] as emp
JOIN
   [WWI_Sample].[dbo].[FactSale] as sale
ON
   emp.EmployeeKey = sale.SalespersonKey
WHERE  
   emp.IsSalesperson = 'TRUE'
GROUP BY
   emp.Employee
ORDER BY
   TotalProfit DESC;

键盘快捷方式

键盘快捷方式提供了一种快速导航的方式,并使用户能够在 SQL 查询编辑器中更高效地工作。 本文中的表列出了 Microsoft Fabric 门户中 SQL 查询编辑器中可用的所有快捷方式:

Function 快捷方式
新建 SQL 查询 Ctrl + Q
关闭当前选项卡 Ctrl + Shift + F4
运行 SQL 脚本 Ctrl + Enter、Shift +Enter
取消正在运行的 SQL 脚本 Alt+Break
搜索字符串 Ctrl+F
替换字符串 Ctrl + H
撤消 Ctrl+Z
重做 Ctrl+Y
左移一个字 Ctrl + 向左键
右移一个字 Ctrl + 向右键
缩进增加 Tab
缩进减少 Shift + Tab
评论 Ctrl+K、Ctrl+C
取消注释 Ctrl+K、Ctrl+U
上移光标
下移光标
全选 Ctrl+A

限制

  • 在 SQL 查询编辑器中,每次运行查询时,它都会打开一个单独的会话,并在执行结束时关闭它。 这意味着,如果为多个查询运行设置会话上下文,则不会为查询的独立执行维护上下文。

  • 可以运行数据定义语言 (DDL)、数据操作语言 (DML)、和数据控制语言 (DCL) 语句,但事务控制语言 (TCL) 语句存在限制。 在 SQL 查询编辑器中,选择“运行”按钮后,将会提交要执行的独立批处理请求。 SQL 查询编辑器中的每个“运行”操作都是一个批处理请求,每个批处理仅存在一个会话。 同一查询窗口中每次执行代码时,将会在不同的批处理和会话中运行。

    • 例如,独立执行事务语句时,不会保留会话上下文。 在以下屏幕截图中,BEGIN TRAN 在第一个请求中执行,但由于第二个请求在不同的会话中执行,因此没有要提交的事务,从而导致提交/回滚操作失败。 如果提交的 SQL 批处理不包含 COMMIT TRAN,则 BEGIN TRAN 之后应用的更改将不会提交。

    显示在 SQL 查询编辑器中独立运行的事务失败的屏幕截图。

    • SQL 查询编辑器不支持 sp_set_session_context

    • 在 SQL 查询编辑器中,GO SQL 命令会在新会话中创建一个新的独立批处理。

  • 使用 USE 运行 SQL 查询时,需要将 SQL 查询和 USE 作为单个请求提交。

  • 可视化结果目前不支持使用 ORDER BY 子句的 SQL 查询。

  • 采用 DirectQuery 模式的“浏览此数据”或“可视化结果”选项目前不支持使用 T-SQL OPTION 语法的 T-SQL 语句。 解决方法是在 Power BI Desktop 中使用“导入”模式创建可视化效果。

  • 下表总结了与 SQL Server Management StudioAzure Data Studio 不匹配的预期行为:

    方案 SSMS/ADS 中支持 在 Fabric 门户的 SQL 查询编辑器中支持
    使用 SET 语句 (Transact-SQL) 设置会话的属性
    对多个批处理语句运行使用 sp_set_session_context (Transact-SQL)
    事务 (Transact-SQL)(除非作为单个批处理请求执行)

下一步