SQL Server 查询设计器用户界面
新建日期: 2006 年 4 月 14 日
Reporting Services 同时提供用于创建查询的图形查询设计器和通用查询设计器,以便在报表设计器中为报表数据集检索关系数据库中的数据。图形查询设计器可提供数据源中基础数据的可视表示形式。使用图形查询设计器可以浏览和交互创建查询,并可以查看结果。通用查询设计器则提供直接输入查询文本的方法。使用通用查询设计器可以创建、粘贴或编辑查询文本,还可以运行命令和查看结果。
若要在通用查询设计器和图形查询设计器之间切换,请单击工具栏上的**“通用查询设计器”**() 切换按钮。有些复杂的查询和基于表达式的查询不能在图形查询设计器中表示。
有关使用 SQL Server 数据源的详细信息,请参阅为 SQL Server 关系数据库定义报表数据集和报表数据操作指南主题。
命令类型
有三种不同类型的查询命令:文本、StoredProcedure 或 TableDirect。在创建查询之前,必须从**“命令类型”下拉列表中选择命令类型。默认命令类型为“文本”。“文本”**类型支持用于关系数据库数据源的标准 Transact-SQL 查询文本,其中包括 Microsoft SQL Server 和 Oracle 的数据处理扩展插件。选择 StoredProcedure 可对查询使用存储过程。选择 TableDirect 可执行 SELECT * 命令的等效命令,以检索表中的所有字段。
注意: |
---|
不是所有的数据处理扩展插件都支持上述所有类型。基础数据访问接口必须支持一个命令类型,所有功能才会可用。Microsoft SQL Server 数据处理扩展插件只支持“文本”和 StoredProcedure。Microsoft OLE DB Provider for SQL Server 的 OLE DB 数据处理扩展插件支持“文本”、StoredProcedure 和 TableDirect。 |
若要在类型之间进行切换,请在工具栏上单击**“编辑所选的数据集”按钮 (),以打开“数据集”对话框。在“命令类型”下拉列表中,选择类型,然后单击“确定”**。查询设计器将以选中的类型打开。
图形查询设计器
图形查询设计器中有四个窗格:“关系图”、“网格”、SQL 和**“结果”。您可以使用数据库表的直观表示形式和由所选列填充的元数据网格。您可以为 Transact-SQL 查询指定列、别名、排序值和筛选器值。还可以查看根据您的选择生成的查询文本、运行查询并查看结果集。对于命令类型 StoredProcedure,可从数据源中检索到的存储过程下拉列表中选择一个存储过程并运行,然后在“结果”窗格中查看结果。同样,对于命令类型 TableDirect,可从数据源中检索到的表下拉列表中选择一个表,并运行选择表中所有列的默认查询,然后在“结果”**窗格中查看结果。
命令类型文本
在**“文本”**类型中,图形查询设计器会显示四个区域,或四个窗格。下图列出每个窗格。
下表介绍了每个窗格的功能。
窗格 | 功能 |
---|---|
关系图 |
显示查询中表的图形表示形式。使用此窗格可以选择字段并定义表之间的关系。 |
网格 |
显示查询返回的字段列表。使用此窗格可以定义别名、排序、筛选、分组和参数。 |
SQL |
显示关系图窗格和网格窗格表示的 Transact-SQL 查询。使用此窗格可以用 Transact-SQL 编写或更新查询。 |
结果 |
显示查询的结果。若要运行查询,请右键单击任意窗格,再单击“运行”,或者单击工具栏中的“运行”按钮。 |
当您在前三个窗格的任意一个窗格中更改信息时,其他窗格中也会显示这些更改。例如,如果在“关系图”窗格中添加了一个表,则将自动在 SQL 窗格的 Transact-SQL 查询中添加该表。如果在 SQL 窗格的查询中添加了一个字段,则将自动在“网格”窗格的列表中添加该字段并更新“关系图”窗格中的表。
若要在某个特定窗格中执行操作(例如,在“关系图”窗格中添加表),请在该窗格内单击鼠标右键,然后单击菜单项。
重要提示: |
---|
如果使用查询设计器创建或更新查询,必须将更改保存到报表中。若要保存更改,可单击“刷新字段”() 按钮,或切换到“布局”视图,或在“文件”菜单中单击“全部保存”。 |
图形查询设计器的工具栏
图形查询设计器工具栏提供了可以帮助您使用图形界面来设计 Transact-SQL 查询的按钮。下图显示该工具栏和一个表,该表显示每个按钮及其功能。
按钮 | 说明 |
---|---|
编辑选定的数据集。 |
|
删除选定的数据集。 |
|
刷新数据源的数据集字段。如果“数据集”窗口可见,则选定数据集的字段列表中将会更新您所做的任何字段更改。若要查看“数据集”窗口,请在“视图”菜单中,单击“数据集”。 |
|
在通用查询设计器和图形查询设计器之间切换。 |
|
显示或隐藏“关系图”窗格。 |
|
显示或隐藏“网格”窗格。 |
|
显示或隐藏 SQL 窗格。 |
|
显示或隐藏“结果”窗格。 |
|
运行查询。 |
|
检查查询文本的语法是否正确。 |
|
在“关系图”窗格中,将选定列的排序顺序设置为“升序排序”。 |
|
在“关系图”窗格中,将选定列的排序顺序设置为“降序排序”。 |
|
在“关系图”窗格中,为标明具有筛选器 () 的选定列删除筛选器。 |
|
在“网格”窗格中显示或隐藏“分组依据”列。当“分组依据”切换为开时,“网格”窗格中将出现以“分组依据”命名的额外列,并且查询中选定列的每个值都默认为“分组依据”,这将导致选定列被包含在 SQL 文本的 Group By 子句中。使用“分组依据”按钮自动添加 GROUP BY 子句,其中包括 SELECT 子句中的所有列。当 SELECT 子句包含聚合函数调用(如 SUM(ColumnName))时,如果想让它出现在结果集中,则需将每个非聚合列包含在 GROUP BY 子句中。 若要出现在“结果”窗格中,查询中的每列都必须有一个定义用于计算要在“结果”窗格中显示的值的聚合函数,或者查询中的列都必须在 SQL 查询的 GROUP BY 子句中指定。 |
|
从数据源向“关系图”窗格中添加新表。 注意 添加新表时,查询设计器将尝试匹配来自数据源的外键关系。添加表后,请确认表之间以链接形式表示的外键关系是正确的。 |
示例
以下查询将从 AdventureWorks 数据库的 Contact 表中返回姓氏列表:
SELECT LastName FROM Person.Contact
可以通过 SQL 窗格运行存储过程。以下查询将在 AdventureWorks 数据库中运行存储过程 uspGetEmployeeManagers:
EXEC uspGetEmployeeManagers '1'
命令类型 StoredProcedure
在 StoredProcedure 类型中,图形查询设计器将显示数据源中可用存储过程的下拉列表和一个“结果”窗格。下图列出每个窗格。
下表介绍了每个窗格的功能。
窗格 | 功能 |
---|---|
存储过程下拉列表 |
列出来自数据源的所有可用存储过程。从列表中选择一个存储过程以使其处于活动状态。 |
结果 |
显示运行存储过程的结果。若要运行选定的存储过程,请单击工具栏中的“运行”按钮。 |
命令类型 StoredProcedure 的工具栏按钮
图形查询设计器工具栏提供了数据源中的存储过程的下拉列表。下图显示了每个按钮及其功能。
按钮 | 说明 |
---|---|
编辑选定的数据集。 |
|
删除选定的数据集。 |
|
刷新数据源的数据集字段。 |
|
在通用查询设计器和图形查询设计器之间切换,同时保留查询文本或存储过程视图。 |
|
运行选定的存储过程。 |
|
存储过程下拉列表 |
单击向下键,以显示来自数据源的可用存储过程的列表。在列表中单击任一存储过程以将其选中。 |
示例
以下存储过程将从 AdventureWorks 数据库中调用管理器的命令链列表。该存储过程接受 EmployeeID 作为参数。可输入任一小的整数。
uspGetEmployeeManagers '1'
命令类型 TableDirect
在 TableDirect 类型中,图形查询设计器将显示数据源中可用表的下拉列表和一个“结果”窗格。如果选定一个表并单击**“运行”**按钮,将返回该表的所有列。
注意: |
---|
并不是所有的数据访问接口都支接该类型。使用 Microsoft OLE DB Provider for SQL Server 的 OLEDB 是支持 TableDirect 类型的数据访问接口之一。 |
下图列出每个窗格。
下表介绍了每个窗格的功能。
窗格 | 功能 |
---|---|
表的下拉列表 |
列出来自数据源的所有可用表。从列表中选择一个表以使其处于活动状态。 |
结果 |
显示选定表的所有列。若要运行表查询,请单击工具栏中的“运行”按钮。 |
命令类型 TableDirect 的工具栏按钮
图形查询设计器工具栏提供了数据源中的表的下拉列表。下图显示了每个按钮及其功能。
按钮 | 说明 |
---|---|
编辑选定的数据集。 |
|
删除选定的数据集。 |
|
刷新数据源的数据集字段。 |
|
在通用查询设计器和图形查询设计器之间切换,同时保留查询文本或存储过程视图。 |
|
选择选定表的所有列。 |
|
表的下拉列表 |
单击向下键,以显示来自数据源的可用表的列表。在列表中单击任一表以将其选中。 |
通用查询设计器
图形查询设计器可用于复杂查询,可从其他工具中粘贴查询,或用于基于表达式的查询。通用查询设计器和图形查询设计器一样,支持三种命令类型:“文本”、StoredProcedure 和 TableDirect。通用查询设计器有两个窗格:“查询”窗格(显示查询文本、存储过程或表名)和“结果”窗格(显示运行查询的结果)。**“文本”**类型为默认设置。
若要更改类型,请在工具栏中单击**“命令类型”**下拉列表,并选择一种类型。
通用查询设计器工具栏
通用查询设计器为所有命令类型提供一个单独的工具栏。下图显示该工具栏和一个表,表中显示每个按钮及其功能。
按钮
说明
编辑选定的数据集。
删除选定的数据集。
刷新数据源的数据集字段。
运行查询文本或存储过程,并在“结果”窗格中显示结果集。
命令类型
选择**“文本”、StoredProcedure 或 TableDirect。如果存储过程有参数,则单击工具栏上的“运行”按钮时,将出现“定义查询参数”**对话框,您可以根据需要填入值。
注意:
如果存储过程返回多个结果集,第一个结果集将用于填充数据集。
命令类型文本
创建 SQL Server 数据集时,报表设计器会默认显示图形查询设计器。若要切换至通用查询设计器,请单击工具栏上的通用查询设计器 () 切换按钮。通用查询设计器显示两个窗格:“查询”窗格和“结果”窗格。下图列出每个窗格。
下表介绍了每个窗格的功能。
窗格 | 功能 |
---|---|
查询 |
显示 Transact-SQL 查询文本。利用此窗格可以编写或编辑 Transact-SQL 查询。 |
结果 |
显示查询的结果。若要运行查询,请右键单击任意窗格,再单击“运行”,或者单击工具栏中的“运行”按钮。 |
示例
以下查询将从 AdventureWorks 数据库的 Contact 表中返回姓氏列表:
SELECT LastName FROM Person.Contact
以下查询将调用 AdventureWorks 存储过程 uspgetEmployeeManagers 并为标识号为 1 的员工返回命令链。
EXEC uspgetEmployeeManagers '1'
单击工具栏上的**“运行”时,将运行“查询”窗格中的命令,并在“结果”**窗格中显示结果。
命令类型 StoredProcedure
当选择**“命令类型”StoredProcedure** 时,通用查询设计器将显示两个窗格:“查询”窗格和“结果”窗格。在下拉列表中选择一个存储过程,它将被粘贴到“查询”窗格中。在此,可以键入参数值。
示例
以下查询将调用 AdventureWorks 存储过程 uspgetEmployeeManagers 并为标识号为 1 的员工返回命令链。
uspgetEmployeeManagers '1'
命令类型 TableDirect
当选择**“命令类型”TableDirect** 时,通用查询设计器将显示两个窗格:“查询”窗格和“结果”窗格。如果选定一个表并单击**“运行”**按钮,将返回该表的所有列。
示例
以下查询将为 AdventureWorks 数据库中的所有客户返回结果集。从下拉列表中选择 Customers 表名等效于创建一个 Transact-SQL 查询 SELECT * FROM Customers
。以下文本将被粘贴到“查询”窗格中。
Customers
请参阅
其他资源
Reporting Services 中的查询设计工具
定义报表数据集
为 SQL Server 关系数据库定义报表数据集
为其他数据源定义报表数据集
安装 AdventureWorks 示例数据库和示例