zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Navicat 查询创建工具 | 设计 SELECT 查询 - Part 1

工具 查询 创建 设计 SELECT Navicat Part
2023-09-11 14:15:48 时间

在 Navicat for MySQL、PostgreSQL、SQLite、MariaDB 和 Navicat Premium 的非 Essentials 版本中使用查询创建工具,即使只有粗略的 SQL 知识都能创建和编辑查询。在今天的文章中,我们将使用它来编写查询,以获取在给定年份发布的电影中出现过的演员的列表。

 如果你想试用最新 Navicat Premium 16,欢迎点击 这里 下载 14 天免费全功能试用版。

源数据库

我们将要构建的查询将在 Sakila示例数据库运行。MySQL AB 文档团队的前成员 Mike Hillyer 创建了 Sakila 数据库,专门提供用于书籍、教程和文章(就像这篇文章)的标准模式。

该数据库包含许多以电影业为主题的表,涵盖从演员和电影制片厂到影碟出租店的所有内容。有关下载和安装 Sakila 数据库的说明,请参阅 Generating Reports on MySQL Data(生成 MySQL 数据报表)教程。

打开查询创建工具

你可以将查询创建工具视为能可视化地构建查询的工具。它可以从“查询设计器”中访问。现在,我们将通过打开一个新查询来启动它:

  • 点击主工具栏上的“查询”图标,然后点击“对象”工具栏中的“新建查询”按钮:

  • 在“查询设计器”中,点击“查询创建工具”按钮以打开可视化 SQL 创建工具。

    数据库对象显示在左窗格中,而右窗格则分为两部分:上面的“图表设计”窗格和下面的“语法”窗格:

构建年度电影演员的查询

首先,选择表以便查询创建工具知道要在字段列表显示哪些字段:

请注意查询创建工具知道表之间的关系。这是因为之前已经在表对象中声明了外键约束:

  • 将表或视图从左窗格拖到“图表设计”窗格,或者双击它以将其添加到查询中。我们需要 actor、film_actor 和 film 表。
  • 若要添加表别名,你可以点击每个表旁边的“<alias>”来指定表别名。或者,只需在“图表设计”窗格中双击表名,然后输入别名。
  • 若要在查询中包含字段,请在“图表设计”窗格中勾选字段名左侧的框。若要包含所有字段,请点击对象标题左侧的框。现在,我们选择演员的名字和姓氏以及电影名。

添加 WHERE 准则

点击 WHERE 关键字旁边的“<按这里添加条件>”会添加默认的 WHERE 条件“<--> = <-->”。

SELECT
a.first_name,
a.last_name,
f.title
FROM
actor AS a
INNER JOIN film_actor AS fa ON fa.actor_id = a.actor_id
INNER JOIN film AS f ON fa.film_id = f.film_id
WHERE
f.release_year = 2006
	

  • 点击左侧的“<--> = <-->”以选择一个字段。这将打开一个弹出对话框,其中包含字段列表和编辑选项卡。
  • 点击“列表”选项卡,然后选择 f.release_year 字段。
  • 点击“确定”关闭对话框。
  • 接下来,点击右侧的“<--> = <-->”以设置发布年份。这次在“编辑”选项卡中输入值“2006”。点击“确定”关闭对话框。
  • 点击“确定”关闭查询创建工具。你现在应该可以在查询编辑器中看到自动生成的 SELECT 语句:
  • 点击“运行”按钮以运行查询。结果将按电影名排序:

总结

无论你是新手还是经验丰富的 DBA,Navicat 的查询创建工具都可以使你比以往更轻松地编写 SELECT 查询。在即将发布的文章中,我们将介绍一些更高级的功能。

往期回顾

  1. 假冒网站引发多重安全风险 | 官方严正声明:切勿在非官方渠道购买或下载 Navicat 软件
  2. Navicat 荣获 Microsoft 金牌合作伙伴
  3. Navicat 16.3 正式支持 OceanBase 企业版​
  4. 免费试用 Navicat 16
  5. Navicat 的 20年发展史
  6. SQL 语句中 WHERE 1=1 的作用
  7. SQL 中计算总行数的百分比
  8. 互动有礼活动进行中 | 奖品为价值 819 元 Navicat Premium
  9. Navicat NAPP 校企合作和申请免费一年期的 Navicat Premium 教育版