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

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

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

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

Fabric 门户中的 SQL 查询编辑器

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

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

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

  • 选择 SQL 模板 下拉列表以轻松创建 T-SQL 对象。 代码模板将在 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;

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

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

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

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

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

键盘快捷方式

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

Function Windows 快捷方式 macOS 快捷方式
查询编辑器操作
在活动查询选项卡中运行所有 SQL 语句 Ctrl +Enter/Shift + Enter Command + Enter/ Shift + Enter
关闭当前选项卡 Ctrl + Shift + F4 Command + Shift + F4
取消正在运行的 SQL 脚本 Ctrl + . Command + .
搜索字符串 Ctrl+F Command + F
替换字符串 Ctrl + H Command + Option + F
撤消 Ctrl+Z Command + Z
重做 Ctrl+Y Command + 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 Command + A
解释查询 (Copilot) Ctrl + Alt + E Command + Option + E
修复查询 (Copilot) Ctrl + Alt + F Command(命令键)+ Option(选项键)+ X
功能区操作
刷新元数据 Ctrl + Shift + R Command + Shift + R
打开设置 Ctrl + Shift + X Command + Shift + X
复制 SQL 连接字符串 Ctrl+Shift+C Command + Shift + C
打开查询活动 Ctrl + Shift + A Command + Shift + A
打开 Copilot 聊天窗格 Ctrl + Shift + I Command + Shift + I
新的语义模型 Ctrl + Shift + M Command + Shift + M
新建 SQL 查询 Ctrl + J Command + J
新的可视化查询 Ctrl + Shift + J Command + 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 中使用“导入”模式创建可视化效果。

  • 下表总结了与 SQL Server Management Studio 不匹配或 Visual Studio Code 的 mssql 扩展不匹配的预期行为:

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

下一步