SqlServer AS的用法

SQL语句可以为 表名称 或 列名称 指定别名。

SQL别名

澳门新葡亰亚洲在线,SQL 别名SQL 别名用于为 表 或 表中的列 提供临时名称。SQL 别名通常用于使
表名 或 列名 更具可读性。SQL 一个别名只存在于查询期间。别名使用 AS
关键字赋予。


建议在下列情况下使用别名查询涉及多个表

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

用于查询函数


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

SQL 别名

列名长或可读性差

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

语法

基本上,创建别名是为了让列名称的可读性更强。

1、表名的别名语法:

列的 SQL Alias 语法

SELECT 列名FROM 表名 AS 别名;

SELECTcolumn_nameASalias_nameFROMtable_name;

2、列名的别名语法

表的 SQL Alias 语法

SELECT 列名 AS 别名FROM 表名;

SELECTcolumn_name(s)FROMtable_nameASalias_name;

3、表名 和 列名 的别名混合使用语法


SELECT 列名 AS 别名FROM 表名 AS 别名;

演示数据库

语法举例

在本教程中,我们将使用众所周知的 Northwind 样本数据库。

1、使用表名称别名

下面是选自 Customers 表的数据:

有两个表分别是:”Persons” 和 “Product_Orders”。分别为它们指定别名 “p”
和 “po”。列出 “John Adams” 的所有定单。

下面是选自 Orders 表的数据:

SELECT po.OrderID, p.LastName, p.FirstNameFROM Persons AS p, Product_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John';

列的 Alias 实例

2、使用列名称别名

下面的 SQL 语句指定了两个别名,一个是 CustomerName 列的别名,一个是
ContactName
列的别名。提示:如果列名称包含空格,要求使用双引号或方括号:

查询 Persons 表中的 LastName 列 和 FirstName 列,输出所有结果值。

实例

SELECT LastName AS 姓氏, FirstName AS 名字FROM Persons

SELECT CustomerName AS Customer, ContactName AS [Contact Person]FROM
Customers;

3、同时使用 表名称 和 列名称

在下面的 SQL 语句中,我们把四个列结合在一起,并创建一个名为 Address
的别名:

为 city 表定义别名 ‘A’,并利用该表别名查询表中的ID 列的所有信息。

实例

SELECT A.ID AS BFROM city AS A;

SELECT CustomerName, Address+, +City+, +PostalCode+, +Country AS
AddressFROM Customers;

下面是其它人的补充


1 概述

表的 Alias 实例

本篇文章简要分析,在SQL SERVER中,AS的基本用法。

下面的 SQL 语句选取来自客户 Alfreds Futterkiste 的所有订单。我们使用
Customers 和 Orders 表,并分别为它们指定表别名 c 和 o:

2 具体分析

实例

2.1 定义变量类型

SELECT o.OrderID, o.OrderDate, c.CustomerNameFROM Customers AS c, Orders
AS oWHERE c.CustomerName=Alfreds Futterkiste;

DECLARE @UserName AS VARCHAR(50)=’Alan_beijing’

不带别名的相同的 SQL 语句:

2.2 取别名

实例

2.2.1 为结果集列取别名

SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerNameFROM
Customers, OrdersWHERE Customers.CustomerName=Alfreds Futterkiste;

code:

在下面的情况下,使用别名很有用:

SELECT OrderID,CustID,OrderDateFROM Orders

在查询中涉及超过一个表

result:

在查询中使用了函数

code:

列名称很长或者可读性差

SELECT OrderID AS ‘订单ID’,CustID AS ‘顾客ID’,OrderDate AS
‘订单日期’FROM Orders

需要把两个列或者多个列结合在一起

result:

2.2.2 为表取别名

SELECT O.OrderID,O.CustID,O.OrderDateFROM Orders AS O

2.2.3 为子查询取别名

SELECT ChildQuery_Orders.OrderDateFROM (SELECT *FROM OrdersWHERE
CustID=5) AS ChildQuery_Orders

2.3 转换类型

2.3.1 CAST类型转换

SELECT CAST(‘110’ AS INT) –110

2.3.2 CONVERT类型转换

SELECT CONVERT(decimal, ‘123.6’) — 123

2.4 创建视图,表示基表来源

CREATE VIEW ViewDemo ASSELECT * FROM Orders

2.5 其他(后续补充)

3 参考文献Microsoft SqlServer 2008技术内幕:T-SQL 语言基础Microsoft
SqlServer 2008技术内幕:T-SQL 查询4 版权

补充内容由Alan_beijing提供。

发表评论

电子邮件地址不会被公开。 必填项已用*标注