通過使用 SQL,可以為表名稱或列名稱指定別名(Alias)。
1 別名的作用
- ?SQL 別名用于為表或表中的列提供臨時名稱。
- ?SQL 別名通常用于使列名更具可讀性。
- ?SQL 一個別名只存在于查詢期間。
- ?提高SQL執行效率與編寫SQL代碼效率。
2 使用別名的場景
在下列情況下使用別名是有用的:
- 查詢涉及多個表
- 用于查詢函數
- 需要把兩個或更多的列放在一起
- 列名長或可讀性差
3 列的別名語法
SELECT column_name AS alias_name
FROM table_name;
4 表的別名語法
SELECT column_name(s)
FROM table_name AS alias_name;
5 列的別名舉例
以下sql語句創建兩個別名,一個用于客戶id列,另一個用于姓名列
select id as customerid, name as customer from customers;
結果:
注:
查詢出來的列名會以別名的形式顯示,不再顯示原來的列名,但是物理表的列名還是沒變,這樣在不影響表結構的前提下,可以根據實際需要重命成自己想要的名稱。
以下SQL語句創建一個名為“地址”的別名,它包含四列(姓名,省份,城市,地址和郵編):
select name,province || city || addr || ' 郵編:' ||zip as 地址 from customers;
結果:
注:
如果我們不使用AS,上面的地址列就會顯示 (無列名)。
6 表別名實例
以下SQL語句創建兩個列別名,一個用于姓名列,一個用于訂單日期列,同時創建兩個表列名,分別用于Customers表和Orders表。
示例:
select c.name as customer, o.order_date as orderdate
from customers as c join orders as o
on c.id=o.cust_id;
結果:
7 批注
? ? ? as 別名在多表進行關聯時可以很好的處理表名相同的情況,比如兩個表都存在姓名列,可以將A表的姓名命名成A_NAME,B表的姓名命名成B_NAME,這樣在閱讀代碼時候可以一目了然。此外AS一般只對查詢的列和表以及order by 重命名后的別名才有效,其他地方還是需要使用原始列名。