MySQL 使用表别名的方法

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@web-teaching.cn 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 外,有些时候例如一个表做自身关联时,必须要使用别名来当作两个表进行关联操作。

加不加AS的解释


我在学习中发现,很多人在定义别名的时候是不加AS的,但是运行起来也是一样的,这关键在于作者的写代码习惯,所以AS可加可不加。

评论

大侠名号:   验证暗号: 点击我更换图片

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND