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

适用于:SQL 分析端点仓库镜像数据库 在 Microsoft Fabric 中

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

SQL 查询编辑器提供 IntelliSense、代码自动完成、语法高亮显示、客户端解析和验证。 可以运行数据定义语言 (DDL)、数据操作语言 (DML) 和数据控制语言 (DCL) 语句。

Fabric 门户中的 SQL 查询编辑器

SQL 查询编辑器提供文本编辑器,用于使用 T-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. 选择 Continue 按钮后,在Windows文件资源管理器中找到下载的 Excel 文件,例如,在浏览器的 Downloads 文件夹中。

  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;

在关闭查询编辑器时管理正在运行的查询

当查询仍在运行并且关闭查询编辑器选项卡时,可以决定查询应继续在后台运行还是取消。

  • 是的,请继续运行查询:查询继续在后台执行,并显示指示查询正在运行的弹出通知。 查询完成后,通知会发出警报,以便返回到查询以查看结果。

  • 否,取消查询:查询将立即终止。 此选项可用于释放资源或停止不再需要的查询。

  • 记住我的首选项,不再显示:将你的选择保存在浏览器 Cookie 本地。

键盘快捷方式

键盘快捷方式提供了一种在 SQL 查询编辑器中更高效地导航和工作的快速方法。 下表列出了 Microsoft Fabric 门户中 SQL 查询编辑器在 Windows 和 macOS 的 Edge 浏览器中提供的所有快捷方式。

功能 Windows 快捷方式 macOS 快捷方式
查询编辑器操作
在活动查询选项卡中运行所有 SQL 语句 Ctrl +Enter/Shift + Enter Command + Enter/ Shift + Enter
关闭当前选项卡 Ctrl + Shift + F4 指令键 + Shift + F4
取消正在运行的 SQL 脚本 Ctrl + . 命令 + 。
搜索字符串 Ctrl+F 命令键 + F
替换字符串 Ctrl + H 指令 + 选项 + F
撤销 Ctrl+Z 命令键 + Z
重做 Ctrl+Y 指令键 + Shift + Z键
左移一个字 Ctrl + 左箭头键 命令 + 向左键
右移一个字 Ctrl + 右方向键 Command键 + 右箭头键
缩进增加 Tab Tab
缩进减少 Shift键 + Tab键 Shift键 + Tab键
评论 Ctrl+K、Ctrl+C Command + K、Command + C
取消注释 Ctrl+K、Ctrl+U Command + K、Command + U
上移光标 向上键 向上键
下移光标 向下键 向下键
全选 Ctrl+A 命令键 + A
通过Copilot解释查询 Ctrl + Alt + E 指令 + 选项 + E
修复查询(Copilot) Ctrl + Alt + F Command(命令键)+ Option(选项键)+ X
功能区操作
刷新元数据 Ctrl + Shift + R 命令键 + Shift键 + R键
打开设置 Ctrl + Shift + X 指令键 + Shift + X
复制 SQL 连接字符串 Ctrl+Shift+C 指令键 + Shift + C
打开监视器 Ctrl + Shift + A Command键 + Shift键 + A键
打开Copilot聊天窗格 Ctrl + Shift + I 命令 + Shift + I
新的语义模型 Ctrl + Shift + M Command + Shift + M (组合键)
新建 SQL 查询 Ctrl + J 命令 + J
新的可视化查询 Ctrl + Shift + J 命令键 + Shift + J
资源管理器操作
展开资源管理器窗格 Ctrl + B 命令 + B
折叠资源管理器视图 Ctrl + B 命令 + B
查询结果操作
展开结果 Ctrl + R 命令键 + R
折叠结果 Ctrl + R 命令键 + R

限制

  • 在 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 查询。

  • 使用 T-SQL OPTION 语法的 T-SQL 语句当前不支持在 浏览此数据可视化结果 选项中与 DirectQuery 模式一起使用。 解决方法是在 Power BI Desktop 中使用 Import 模式创建可视化效果。

  • 下表总结了不符合 SQL Server Management StudioVisual Studio Code 的 MSSQL 扩展 的预期行为:

    情景 在 SSMS 或 Visual Studio Code 中受支持 Fabric 门户中的 SQL 查询编辑器支持
    使用 SET 语句(Transact-SQL)设置会话的属性
    使用 sp_set_session_context(Transact-SQL) 来运行多个批处理语句
    Fabric Data Warehouse中的事务(除非作为单次批处理请求执行)

下一步