使用 SQL 别名简化查询并自定义结果

news2024/11/17 19:39:56

别名能够在不影响基础表或视图的情况下临时重命名表或列。作为大多数甚至所有关系数据库管理系统都支持的 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 软件
  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 教育版

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

带宽消耗以及Swap(上)

今天我们来看一个真实的案例。事情是这样的,之前有人在微信上问我一个问题,这个问题的现象很典型:典型的 TPS 上不去,响应时间增加,资源用不上。 大概的情况是这样的:有两台 4C8G 的服务器,一台服务器上有 2 个 Tomcat,一台服务器上是 DB。压测的混合场景有 4 个功能模…

【验证码逆向专栏】某验三代滑块验证码逆向分析

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 本文章未经许可禁止转载…

k8s教程(20)-pod之定时任务

文章目录01 引言02 基本语法03 案例04 文末01 引言 声明:本文为《Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)》的读书笔记 Kubernetes从1.5版本开始增加了一种新类型的Job,即类似Linux Cron的定时任务…

SpringMVC、SSM整合

SpringMVC的工作原理(底层Servlet的工作流程) DispatcherServletHandlerMapping ,返回值 HandlerExecutionChainHandlerAdapterViewResolverView ~~老版本(过去式) 一、搭建springmvc 第一步:配置打包…

互联网行业逐步回暖!就业显示有74%学员跨专业学编程!

三年以来,居家办公、隔离等影响已深入每个人的生活。就业形势承受着巨大的压力,同时就业环境也发生巨大变化,越来越多的人都面临转行! 达妹被问到最多的问题是: 跨专业学编程的疑虑 非科班出身零基础能学会编程吗? 数…

程序人生:起薪13k,兜兜转转还得是软件测试

很多人一聊到IT教育培训第一反应就是:为什么要报班呢,网上大把资源它不香吗?自己学一学不就出来找工作了吗?还花这种冤枉钱? 小编作为从业人员认真地说,进入IT行业虽然不是特别难,但也没有这么…

English Learning - L1-6 从此口语变得简约(下)2022.12.22 周四

English Learning - L1-6 从此口语变得简约(下)2022.12.22 周四引言6.2.2 分词非谓语动词作后置定语的三种被动结构1. to be done 将来的动作2. being done 正在进行的3. done 已经完成的6.2.3 分词形容词挑错其它1. 形容词 名词 ed2. 数词 名词 ed答…

RiscV汇编基础学习

文章目录一、基础概念指令集---指示计算机执行某种操作的命令,是计算机运行的最小功能单位。复杂指令集CISC(如x86)和精简指令集RISC(如arm、riscV)---两种指令集的优化设计方向RiscV---一个基于精简指令集RISC原则的开…

SQL注入渗透与攻防(七)之查询方式及报错注入

目录 SQL注入之查询方式 select 查询数据 delete 删除数据 insert 插入数据 update 更新数据 SQL注入 报错盲注 1.基于布尔的SQL盲注 - 逻辑判断 2.基于时间的SQL盲注 - 延时判断 3.基于报错的SQL盲注 - 报错回显(强制性报错 ) 案列演示 SQL注入…

移动设备的自动化测试工具,如何选型?

一、问题的提出 最近二两年来,一直在从事移动设备的自动化测试工作,可以说小有心得。但最近由于种种原因,面临着对移动设备的自动化测试工具的更换工作。所以,一个问题呈现在面前。我们需要为我们的项目选出一款新的自动化测试工…

最长上升子序列

基于最长上升子序列 LIS 求最长上升子序列有两种做法求最长上升子序列有两种做法求最长上升子序列有两种做法 一种是n2复杂度的线性dp一种是n^2复杂度的线性dp一种是n2复杂度的线性dp 另一种是O(nlogn)复杂度的贪心二分另一种是O(nlogn)复杂度的贪心二分另一种是O(nlogn)复杂度…

看BP英文文献生词记录

看BP英文文献生词记录 总的来说,该论文是在讲CAT和SAR的后向后向投影之间的联系与区别 acoustic imaging 原声成像 polychromatic 美 [pɒlɪkroʊ’mtɪk] 英 [pɒlɪkrəʊ’mtɪk] adj.多色的 illumination 美 [ɪˌlumɪˈneɪʃ(ə)n] 英 [ɪˌluːmɪˈne…

我国牛血清行业现状:FBS是最常用血清添加剂 但目前市场亟需规范化

根据观研报告网发布的《中国牛血清行业现状深度研究与投资前景分析报告(2022-2029年)》显示,牛血清是血清的一种,是一种浅黄色澄清、无溶血、无异物稍粘稠液体,内含有各种血浆蛋白、多肽、脂肪、碳水化合物、生长因子、…

15. 使用stunnel加密tcp数据传输

主题:使用stunnel加密隧道对tcp数据进行加密传输。 开发环境: 客户端: stunnel5 Win10服务端: stunnel5 Ununtu18.04(虚拟机) Qt5.9.9对于stunnel,前面博客有所提及,有兴趣可以自行观看,…

javaSE(包、封装、static用法、代码块)

1.包 (文件夹) 为了更好的管理类,把多个类收集在一起成为一组,称为软件包。 在Java中也引入了包,包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,比如:一…

【细读JS忍者秘籍】深入生成器函数的底层原理

深入生成器函数的底层原理 分析执行上下文 生成器函数本质上还是一个_函数_,所以它的执行离不开 执行上下文 function* generator() {console.log("status1");yield "hello";console.log("status2");yield "world";}let…

Web入门开发【七】- 运行原理

欢迎来到霍大侠的小院,我们来学习Web入门开发的系列课程。 首先我们来了解下这个课程能学到什么? 1、你将可以掌握Web网站的开发全过程。 2、了解基础的HTML,CSS,JavaScript语言。 3、开发自己的第一个网站。 4、认识很多对编…

学到羊之Kafka

1 kafka 是啥 Kafka 是一款开源的消息引擎系统,用来实现解耦的异步式数据传递。即系统 A 发消息给到 消息引擎系统,系统 B 通过消息引擎系统读取 A 发送的消息,在大数据场景下,能达到削峰填谷的效果。 2 Kafka 术语 Kafka 中的分…

性能测试要学习哪些知识?全在这里了

基础:   完整的性能测试流程     需求-计划-方案-环境搭建-用例设计-数据准备-场景设计-脚本开发-脚本执行-结果分析-问题反馈-性能调优-结果报告   性能指标     TPS,QPS,RPS,HPS,RT,VU&#…

【Pandas入门教程】在Pandas中如何创建plots

在Pandas中如何创建plots 来源:Pandas官网:https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html 文章目录在Pandas中如何创建plots导包数据集准备【小结】导包 import pandas as pd import matplotlib.pyplot as plt数据集准备…