SQL aliases用来给一个表,或者表中的某一列一个临时的别名。
这样作用是:
1,用来改变结果集中的列名
2,改了别名后,防止名字冲突,或者简化名字,使名字的意义更合理清晰。
这个别名只在再临时查询期间是有效的。
创建别名时,使用AS关键字。
给数据列创建别名:
SELECT column_name AS alias_name FROM table_name;
给数据表创建别名:
SELECT column_name(s) FROM table_name AS alias_name;
举例:
SELECT customer_id AS ID FROM Customers;
查询结果:
ID |
1 |
2 |
3 |
4 |
5 |
注意,如果创建的别名里面有空格,要使用双引号或方括号将名字包含起来。(double quotation marks or square brackets)
通常使用别名的时候,是我们对多个列的数据进行了一定的组合,如下所示,将地址、邮编、城市、国家组合起来作为新的地址。
SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;
如果是MySQL数据库的话:
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;
如果是Oracle数据库的话:
SELECT CustomerName, (Address || ', ' || PostalCode || ' ' || City || ', ' || Country) AS Address
FROM Customers;
使用table的别名的例子如下。
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName='Around the Horn' AND c.CustomerID=o.CustomerID;
这个例子使用了两个表进行联合查询,使用别名使表的名字变短,使用起来更方便。
综上,SQL中别名的使用情况是:
1,在查询中有多个表,或同一个表SELF JOIN时。
2,在查询中使用函数,需要运算得到结果,为其命名为一列。
3,列的名字太长不好阅读或输入时。
4,多个列的数据要组合到一起时。
参考: