在mysql中,select查询可以使用AS关键字为查询的字段起一个别名,该别名用作表达式的列名,并且别名可以在
GROUP BY,ORDER BY或HAVING等语句中使用
查询平均成绩大于60分的同学的学号和平均成绩
select a.sid,round(avg(a.score),2) as course
from sc a #round函数是把avg()的数四舍五路保留2位小数
group by a.sid
having course > 60;
当别名为中文时,然后再group by, order by后使用,则
不能使用单引号或是双引号在或者是中括号包裹起来
查询平均成绩大于60分的同学的学号和平均成绩
select a.sid,round(avg(a.score),2) as "平均成绩"
from sc a #round函数是把avg()的数四舍五路保留2位小数
group by a.sid
having "平均成绩" > 60;
select a.sid,round(avg(a.score),2) as '平均成绩'
from sc a #round函数是把avg()的数四舍五路保留2位小数
group by a.sid
having '平均成绩' > 60;
select a.sid,round(avg(a.score),2) as [平均成绩]
from sc a #round函数是把avg()的数四舍五路保留2位小数
group by a.sid
having [平均成绩] > 60;
这些都是错误的,应该是使用键盘ESC下面,Tab上面的键的符号括起来,
select a.sid,round(avg(a.score),2) as `平均成绩`
from sc a #round函数是把avg()的数四舍五路保留2位小数
group by a.sid
having `平均成绩` > 60;
这就是正确的
当然如果不是要进行后面处理,那就使用单引号和双引号括起来就行了