SQL 表别名
在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,几乎所有的数据库系统都支持。通过关键字 AS 来指定。
表别名语法:
SELECT column FROM table AS table_alias
上述 SQL 执行后的效果,给人感觉是对 table_alias 表进行查询,但实际上对单表做简单的别名查询通常是无意义的。一般是对一个表要当作多个表来操作,或者是对多个表进行操作时,才设置表别名。
表别名使用例子
下面是一个简单的多表操作的例子:
article 文章表:
aid
title
content
uid
pubtime
1
文章1
文章1正文内容...
1
1278982219
2
文章2
文章2正文内容...
1
1278985319
3
文章3
文章3正文内容...
2
1279185319
user 用户表:
uid
username
password
regdate
1
admin
b7e591c246d010bb2ccd77d52490c85e
admin@
1277992339
2
小明
a193686a53e4de85ee3f2ff0576adf01
xiao@
1278063917
3
Jack
0193686a35e4de85ee3f2ff0567adf490
jack@
1278061380
当查询一篇文章的时候,一般会同时将对应的文章作者查询出来,通常的 SQL 语句为:
SELECT ,, FROM article, user
WHERE =1 AND =
设置表别名后:
SELECT ,, FROM article AS a, user AS u where =1 and =
上述两条 SQL 语句查询结果是一样的:
title
content
username
文章1
文章1正文内容...
admin
可以看出,使用表别名查询,可以使 SQL 变得简洁而更易书写和阅读,尤其在 SQL 比较复杂的情况下。除了使用别名来简化 SQL 外,有些时候例如一个表做自身关联时,必须要使用别名来当作两个表进行关联操作。
在 SQL 中,不仅可以指定表别名,同样还可以指定字段(列)别名,以解决多表之间复杂查询的问题,具体请参阅《MySQL 字段别名》。