5.4 使用列别名查询
在前面的SELECT语句显示的查询结果中,可以看到查询结果中显示的列的名字就是SELECT语句中指定的在数据表中定义的列的名字。这些在数据表中定义的列的名字一般都是英文。有时,为了更好地理解某一列显示的信息,在SELECT语句中可以使用列别名的形式改变查询结果中显示的列的名字。其语法格式如下:
SELECT目标列 [AS] 列别名[,目标列 [AS] 列别名...] FROM 表名或者视图名[,表名或者视图]
其中,SELECT语句后面的目标列表示要查询的指定列的名字。AS关键字后面跟的就是要使用的列别名,其中关键字AS是可选的。在SELECT语句中指定的目标列可以是一列也可以是多个列,指定多个列时,多个列名之间需要用逗号分开。FROM子句后面的表名或者视图名用来表示指定要查询数据表或者视图的名字。[]里面指定的表名或者视图是可选的,也就是说,FROM语句后面可以跟多个表或者视图的名字,多个表或者视图之间用逗号分开。
例5.5 查询学生信息表(T_student)中所有学生的全部信息(使用列别名)。
SELECT stuID AS 学生编号, stuName AS 学生姓名, age AS 年龄, sex AS 性别, birth AS 出生日期 FROM T_student
这里使用列别名的方式显示要查询学生信息表(T_student)中所有学生的全部信息。其查询结果如图5.5所示。
图5.5 使用列别名的方式显示查询学生信息表(T_student)中所有学生的全部信息
从显示的查询结果可以看到,查询结果中的列标题都变成了中文的形式。这样显示的结果看起来更直观,也更容易理解。
说明 在SELECT语句中使用列别名的形式对数据表或者视图查询时,可以在查询的列名后面使用一个空格代替关键字AS,空格后面再跟上列别名的名字。
在例5.5中,可以看到,为SELECT语句中查询的指定列使用列别名时并不需要使用单引号或者双引号将列别名引住,但是如果列别名中包含有空格或者特殊字符,例如点号(.)、逗号(,)、分号(;)、冒号(:)等,此时就需要使用单引号或者双引号将包含有空格或者特殊字符的列别名引起来。
例5.6 查询学生信息表(T_student)中所有学生的全部信息(列别名中有空格)
SELECT stuID AS '学生 编号', stuName AS '学生 姓名' FROM T_stude
这里在列别名中使用了空格,所以这里使用单引号将包含有空格的列别名引起来(也可以使用双引号)。其查询结果如图5.6所示。
图5.6 列别名中包含空格的方式查询学生信息表中的学生信息
注意 如果使用的列别名对字母大小写敏感,或者在使用包含有空格或者特殊字符的列别名,则必须使用单引号或者双引号将其引起来。如果不这样做,SQL语句在执行时就会报错。