SQL 创建工具(仅适用于非 Essentials 版本)
在查询设计器中,点击 “查询创建工具”按钮来打开可视化的 SQL 创建工具。
所有数据库对象都显示在左侧的“对象”窗格中。在中间的窗格中,它分为两部分:上面的“图表”窗格和下面的“准则”窗格。当构建查询时,你可以在右侧的“SQL”窗格中查看自动生成的 SQL。
【注意】SQL 创建工具仅支持 SELECT 语句。请使用 SQL 编辑器创建其他复杂查询(例如 INSERT、UPDATE、DELETE)。
第一步是决定需要添加哪些表和视图到查询。
若要将表和视图添加到查询,请使用以下其中一个方法:
将它们从对象窗格拖到图表窗格。
在对象窗格上双击它们。
你可以双击在图表窗格上的对象标题并输入用作对象别名的名称来设置表、视图和子查询的别名。
将对象添加到图表后,你可以使用“FROM”选项卡来根据需要调整查询。
若要更改对象,请点击该对象并选择一个标识符。
你可以在图表窗格上右击一个对象并选择“移除”来从查询中删除已选择的对象,或只需按 DELETE 键。
当移除对象时,查询创建工具会自动删除涉及该对象的联接。
选择输出字段
若要在查询中包含字段,请使用以下其中一个方法:
在图表窗格中勾选要添加到查询的字段名左侧的复选框。
若要包含对象的所有字段,请在图表窗格中勾选“*”复选框。
若要添加所有对象的所有字段,请点击“SELECT”选项卡的 ,然后选择“全部字段(*)”。
已选择的字段会显示在“SELECT”选项卡。你可以在那里指定其他输出字段选项。
勾选“DISTINCT”复选框来强制视图返回非重复的结果。
若要添加字段别名,请点击“<别名>”并输入名。
点击标识符,然后选择“聚合”函数。
设置字段关系
查询创建工具将根据外键关系自动联接表。如果要手动创建数据库对象的关联,只需从对象中选择一个字段并将其拖到另一个对象中的字段即可。两个对象之间会出现一条连接线,以直观地表示关系和联接类型。
查询创建工具有两种视图显示连接线:表关系和字段关系。“字段关系” 视图可让你识别两个表中匹配的字段,而“表关系”视图可显示两个表之间的联接关系。
默认情况下,所有联接最初都创建为 INNER JOIN。若要更改关系,请点击或双击图表窗格上的连接线,或点击“FROM”选项卡中的 JOIN 关键字,然后选择一个联接类型。如果没有你想要的联接类型,则可以在“自定义”文本框中输入自定义的联接类型。
若要移除联接,请右击连接线并选择“移除”。
若要修改联接条件,请右击连接线并选择“编辑联接”,或在“FROM”选项卡上点击条件。
FROM 选项卡中的弹出式菜单选项:
当检索数据时,你可能需要设置一个筛选表达式。若要筛选查询返回的数据,请在图表窗格上右击字段并选择“添加字段到”->“WHERE”和一个运算符。
条件将添加到“WHERE”选项卡。你可以点击“<值>”编辑值。如果你要在括号内添加条件,请点击 。你亦可以更改逻辑运算符(and 或 or),只需点击它。若有需要,可使用向上箭头和向下箭头按钮更改条件的排序。
WHERE 选项卡中的弹出式菜单选项:
分组结果数据
你可以在图表窗格中右击一个字段并选择“添加字段到”->“GROUP BY”来设置查询记录分组的条件。
在“HAVING”选项卡,你可以筛选汇总数据或已分组的数据。请选择要包含在条件中的标识符、运算符、聚合或输入表达式。若有需要,可使用向上箭头和向下箭头按钮更改条件的排序。
HAVING 选项卡中的弹出式菜单选项:
排序结果数据
你可以在图表窗格中右击一个字段并选择“添加字段到”->“ORDER BY”->“ ASC”或“DESC”来设置查询记录的排序方式。条件将添加到 ORDER BY 选项卡。
在“LIMIT”选项卡,你可以将查询结果限制在指定范围内。
偏移量
指定要跳过的记录数。 这是可选的。
限制
指定要显示的记录数。
【注意】仅适用于 MySQL、PostgreSQL、SQLite 和 MariaDB。
添加表达式或子查询
你可以添加表达式或子查询以进一步限制查询结果。在“FROM”选项卡,点击 并选择“表达式/子查询”选项卡。
输入表达式或子查询后,请按 ENTER 键确认编辑。它将添加到图表窗格中,表示语句中包含了表达式或子查询并标识其列。
点击 按钮将切换到子查询层。你可以在其中以与主查询相同的方式直观地构建子查询。
你可以随时返回主查询,只需点击“(主查询)”。
查看生成的 SQL
“SQL”窗格以格式化显示查询创建工具生成的只读 SQL。你可以复制在 SQL 窗格中的 SQL,以便在其他工具中使用。在子查询层中,可以启用仅显示当前的层来显示子查询的 SQL。
Navicat 有放大或缩小图表的功能。在图表窗格中右击任何位置并选择“缩放”->“放大”、“缩小”或“100%”。使用键盘快捷键亦可得到同样的效果:
放大:[CTRL+=]
缩小:[CTRL+-]