在 SQL Server 中,为列定义别名有三种方式:
1. 使用 AS ,定义别名,也是推荐做法
格式:<表达式> AS <别名>
2. T-SQL 中还支持 <别名>=<表达式>(别名=表达式)。基本上我很少见到有采用这种方式为列定义别名的。
3. SQL Server 中还支持下面这样为列定义别名
格式:<表达式> <别名>(<表达式> 空格 <别名>)
这种方式非常不明确,不建议使用。
注意:有趣的是,如果你不小心忘记在 SELECT 列表的两个列名之间指定一个逗号,代码也不会失败,相反, SQL Server 会认为第二个列名称是第一个列名的别名。
假如你想返回 Orders 表的两个列 Orderid 和 Orderdate ,结果不小心,忘记在两个列名之间加一个逗号写成
SELECT orderid orderdate FROM Orders
这样,也不会报错,SQL Server 会把 orderdate 当成 orderid 的别名。