MySQL 表别名(Alias)

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 email regdate
1 admin b7e591c246d010bb2ccd77d52490c85e admin@5idev.com 1277992339
2 小明 a193686a53e4de85ee3f2ff0576adf01 xiao@163.com 1278063917
3 Jack 0193686a35e4de85ee3f2ff0567adf490 jack@gmail.com 1278061380

当查询一篇文章的时候,一般会同时将对应的文章作者查询出来,通常的 SQL 语句为:

SELECT article.title,article.content,user.username FROM article, user 
WHERE article.aid=1 AND article.uid=user.uid

设置表别名后:

SELECT a.title,a.content,u.username FROM article AS a, user AS u where a.aid=1 and a.uid=u.uid

上述两条 SQL 语句查询结果是一样的:

title content username
文章1 文章1正文内容... admin

可以看出,使用表别名查询,可以使 SQL 变得简洁而更易书写和阅读,尤其在 SQL 比较复杂的情况下。除了使用别名来简化 SQL 外,有些时候例如一个表做自身关联时,必须要使用别名来当作两个表进行关联操作。

在 SQL 中,不仅可以指定表别名,同样还可以指定字段(列)别名,以解决多表之间复杂查询的问题,具体请参阅《MySQL 字段别名》。

    MySQL 表别名(Alias)
    MySQL 字段别名(列别名)

zgguan.com(it学习网) — 提供最好的 XHTML教程DIV+CSS教程JavaScript教程PHP教程ThinkPHP教程