实战演练 | 使用 SQL 别名简化查询并自定义结果

别名能够在不影响基础表或视图的情况下临时重命名表或列。作为大多数甚至所有关系数据库管理系统都支持的 SQL 功能,别名是简化查询和/或自定义结果集中列标题的好方法。在这篇文章中,我们将使用 Navicat Premium 16 来完成这两项工作。

重命名列

许多数据库设计者使用缩写表示表的列名以使其更简短,例如:

  • emp_no 表示“Employee Number”

  • qty 表示“quantity”

对于查看查询结果的人来说,列名缩写并不总是能够一看就懂。若要解决这个问题,你可以使用列别名,为结果集中的列提供更具描述性的名称。

列别名的语法是:

column_name [AS] alias_name

请注意,AS 关键字是可选的。

你可以在别名中包含空格,方法是将它们括在单引号(或双引号)中,如下所示:

column_name AS 'Alias Name'

以下是一个包含一些列别名的示例查询:

表达式使用别名

你可能已经注意到,如果查询包含表达式,则整个表达式将用作列标题。例如:

为表达式指定列别名会使其更清晰易明:

表别名

表别名的规则与列别名相同,但它们的用途不同,因为表别名不会出现在查询结果中。它的概念是使用更短的名称将列与其表关联以缩短查询的长度。

表别名的基本语法如下:

SELECT column1, column2....

FROM table_name [AS] alias_name

WHERE [condition];

与其表关联的列称为限定列名。当具有相同名称的两个列出现在同一个 SELECT 语句中时,需要对列进行限定。事实上,我们在上面的列别名示例中也看到限定列名。以下的另一个查询包含两个 actor_id 列,一个来自 actors 表,另一个来自 film_actor 表:

虽然上述的查询是有效的,但我们可以使用表别名来缩短它:

请注意,明确的列(即只出现在一个表中的列)不需要限定。

当使用像 Navicat 这样的新式数据库工具时,表别名有另一种很有用的用途。多亏了自动建议功能,键入表别名时会出现建议下拉列表。列表将包含所有表列:

这能大大加快了查询编写的速度,是专业数据库开发的重要一环。

总结

本文介绍了列和表别名,以及 Navicat Premium 16 中的一些实际示例。

如果你有兴趣了解更多关于 Navicat Premium 16 的信息,你可以免费试用完整无限制版本14 天!

往期回顾

  1. 假冒网站引发多重安全风险 | 官方严正声明:切勿在非官方渠道购买或下载 Navicat 软件

  1. Navicat 荣获 Microsoft 金牌合作伙伴

  1. Navicat 16.3 正式支持 OceanBase 企业版

  1. 免费试用 Navicat 16

  1. Navicat 的 20年发展史

  1. SQL 语句中 WHERE 1=1 的作用

  1. SQL 中计算总行数的百分比

  1. 互动有礼活动进行中 | 奖品为价值 819 元 Navicat Premium

  1. Navicat NAPP 校企合作和申请免费一年期的 Navicat Premium 教育版

猜你喜欢

转载自blog.csdn.net/weixin_53935287/article/details/128550160