MySQL查询起别名的真爱?
一、起别名的好处
MySQL中支持为查询的字段取别名,以便于理解、直观。
例如查询学生的总成绩时,查询的字段sum(score),在结果中还是显示为sum(score),如果给这个字段取别名为总分,那就更加直观了。还有在连表查询时,重复的字段会自动加上一个括号标号,不是那么的直观,这时就可以通过别名来区分。
二、MySQL起别名
MySQL起别名的方式是使用关键字AS
,跟在查询字段的后面,格式如下:
查询字段名 AS 字段别名
例如:
SELECT SId AS 学号 -- 给SId去了别名学号
FROM student
更为简洁的方式是可以省略关键字AS,打一个空格
SELECT SId 学号 -- 省略了关键字AS
FROM student
三、别名的真爱
起别名虽然很好用,但它小秘密你也需要知道:
- 别名如果取成了MySQL中的关键字,需要加上
反引号(Tab键上面那个)
- 别名中如果有特殊的字符,如空格、@、#、$等,也需要加上反引号
- 是加上
反引号(Tab键上面那个)
,不是单引号或双引号,反引号才是真爱
。 - 总之,别名加上
反引号(Tab键上面那个)
就对了
看这里,反引号(Tab键上面那个)
才是MySQL别名的真爱:
-- 查询每个学生的考试总成绩
SELECT SId,SUM(score) '总分'
FROM sc
GROUP BY SId
ORDER BY '总分'
别名用了单引号,看看结果
我ORDER BY '总分',按总分默认升序排序,可看看结果总分的排序,我只呵呵
(双引号与单引号结果是一样的)
再看看反引号:
SELECT SId,SUM(score) 总分
FROM sc
GROUP BY SId
ORDER BY 总分
这结果才是我想要的:
单引号才是真爱,忘了只是意外。
起别名的时候加上单引号就对了。