作者:辽宁何氏医学院高明月 | 来源:互联网 | 2023-07-07 18:46
在项目中遇到别名的问题,抽时间整理了一下
在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