ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL基础知识V2——AS别名

2021-03-10 22:51:37  阅读:224  来源: 互联网

标签:Customers 列名 别名 基础知识 V2 姓名 SQL SELECT


SQL专栏

SQL数据库基础知识汇总

SQL数据库高级知识汇总

通过使用 SQL,可以为表名称或列名称指定别名(Alias)。

别名的作用

  • SQL 别名用于为表或表中的列提供临时名称。

  • SQL 别名通常用于使列名更具可读性。

  • SQL 一个别名只存在于查询期间。

使用别名的场景

在下列情况下使用别名是有用的:
查询涉及多个表

  • 用于查询函数

  • 需要把两个或更多的列放在一起

  • 列名长或可读性差

列的别名语法
SELECT column_name AS alias_name

FROM table_name;

表的别名语法
SELECT column_name(s)

FROM table_name AS alias_name;

示例数据库
以下是"Customers" 表中的数据:

SQL基础知识V2——AS别名

下面是选自 "Orders" 表的数据:

SQL基础知识V2——AS别名

列的别名实例
以下SQL语句创建两个别名,一个用于客户ID列,另一个用于姓名列:

实例

SELECT 客户ID AS CustomerID,
姓名  AS Customer
FROM  Customers;

结果如下:

SQL基础知识V2——AS别名

:查询出来的列名会以别名的形式显示,不再显示原来的列名,但是物理表的列名还是没变,这样在不影响表结构的前提下,可以根据实际需要重命成自己想要的名称。

以下SQL语句创建两个别名,一个用于姓名列,一个用于城市列。

:如果别名包含空格,则需要双引号或方括号:

实例


SELECT 姓名 AS Customer,
城市 AS [City Name]
FROM Customers;

结果如下:

SQL基础知识V2——AS别名

以下SQL语句创建一个名为“地址”的别名,它包含四列(姓名,省份,城市,地址和邮编):

SELECT 姓名,
省份 +
城市 +
地址 + ',邮编:' +
邮编  AS 地址
FROM Customers;

结果如下:

注:如果我们不使用AS,上面的地址列就会显示 (无列名)

注意:要使上面的SQL语句在MySQL中工作,请使用以下命令:

SELECT 姓名,
CONCAT(地址,
省份,
城市,
',邮编:',
邮编
) AS 地址
FROM Customers;

注:Mysql中的字符拼接需要使用CONCAT函数,不能直接使用+

SQL基础知识V2——AS别名

表别名实例

以下SQL语句创建两个列别名,一个用于姓名列,一个用于订单日期列,同时创建两个表列名,分别用于Customers表和Orders表


SELECT
c.姓名 AS Customer,
o.订单日期 AS Orderdate
FROM Customers AS c
JOIN Orders AS o
ON c.客户ID=o.客户ID

结果如下:

SQL基础知识V2——AS别名

:上面我们分别对表名和列名进行了重命名,需要注意的是ON和WHERE以及其他涉及条件筛选的地方,不能使用重命名后的名称,GROUP BY 也不行。此外在进行重命名时AS是可以省略的。

批注

AS别名在多表进行关联时可以很好的处理表名相同的情况,比如两个表都存在姓名列,可以将A表的姓名命名成A_NAME,B表的姓名命名成B_NAME,这样在阅读代码时候可以一目了然。此外AS一般只对查询的列和表以及ORDER BY重命名后的别名才有效,其他地方还是需要使用原始列名。

标签:Customers,列名,别名,基础知识,V2,姓名,SQL,SELECT
来源: https://blog.51cto.com/15057820/2655169

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有