SELECT column_name(s) FROM table_name AS alias_name
SELECT column_name AS alias_name FROM table_name
假设我们有两个表分别是:"Persons" 和 "Product_Orders"。我们分别为它们指定别名 "p" 和 "po"。 现在,我们希望列出 "John Adams" 的所有定单。 我们可以使用下面的 SELECT 语句: SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS po WHERE p.LastName='Adams' WHERE p.FirstName='John'
不使用别名的 SELECT 语句: SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName FROM Persons, Product_Orders WHERE Persons.LastName='Hansen' WHERE Persons.FirstName='Ola'
从上面两条 SELECT 语句您可以看到,别名使查询程序更易阅读和书写。
Id
LastName
FirstName
Address
City
1
Adams
John
Oxford Street
London
2
Bush
George
Fifth Avenue
New York
3
Carter
Thomas
Changan Street
Beijing
SELECT LastName AS Family, FirstName AS Name FROM Persons
Family
Name
Adams
John
Bush
George
Carter
Thomas
接下来,我们讨论 alias (别名) 在 SQL 上的用处。最常用到的别名有两种: 栏位别名及表格别名。
简单地来说,栏位别名的目的是为了让 SQL 产生的结果易读。在之前的例子中, 每当我们有营业额总合时,栏位名都是 SUM(sales)。虽然在这个情况下没有什么问题,可是如果这个栏位不是一个简单的总合,而是一个复杂的计算,那栏位名就没有这么易懂了。若我们用栏位别名的话,就可以确认结果中的栏位名是简单易懂的。
第二种别名是表格别名。要给一个表格取一个别名,只要在 FROM 子句中的表格名后空一格,然后再列出要用的表格别名就可以了。这在我们要用 SQL 由数个不同的表格中获取资料时是很方便的。这一点我们在之后谈到连接 (join) 时会看到。
我们先来看一下栏位别名和表格别名的语法:
SELECT "表格别名"."栏位1" "栏位别名" FROM "表格名" "表格别名"
基本上,这两种别名都是放在它们要替代的物件后面,而它们中间由一个空白分开。我们继续使用 Store_Information这个表格来做例子:
Store_Information 表格
store_namesalesdate
Los Angeles$1500jan-05-1999
San Francisco$300jan-08-1999
Boston$700jan-08-1999
我们用跟 SQL GROUP BY 那一页一样的例子。这里的不同处是我们加上了栏位别名以及表格别名:
SELECT A1.store_name Store, SUM(A1.Sales) "Total Sales" FROM Store_Information A1 GROUP BY A1.store_name
结果:
Store Total Sales
Los Angeles $1800
San Diego $250
Boston $700