mysql别名的使用

在项目中遇到别名的问题,抽时间整理了一下


在sql中,合理的使用别名可以让sql更容易写并且提高可读性。别名使用 as 来表示,可以分为表别名和列别名。

别名应该是先定义后使用才对,所以首先要了解sql的执行顺序

sql执行顺序如下:
(1)from
(3) join
(2) on
(4) where
(5)group by(开始可以使用select的别名,后面的也行)
(6) avg,sum....
(7)having
(8) select
(9) distinct
(10) order by

这个最好记下来,要注意的是from是最先执行的,而select在having之后才执行。


这里有两张表


                           Student表



               Score表


1.列别名

在这里可以看到我们给 name 添加了一个别名,输出后原表的 name 字段变为现在的别名字段 stuname;

2.表别名

我们给Student表起了个别名叫stu,给Score表起了个别名叫sc。

按照文章开头的顺序可以知道先执行form的语句,再执行where后面的句子,所以这种情况下where后可以接别名。


但是有一种情况比较特殊

执行顺序是 from -> group by --> having --> select 显而易见从from到having的过程中并没有定义c

但是这是个特殊情况,在group by 之后都可以使用select后字段的别名,记住即可。



参考文章:http://www.jb51.net/article/76521.htm

                  http://www.yiibai.com/mysql/alias.html

                  http://blog.csdn.net/u014044812/article/details/51004754

posted @ 2017-10-19 09:40  Beeman_xia  阅读(797)  评论(1编辑  收藏  举报