SQL 別名
SQL 別名
SQL 別名用於為表或表中的列指定一個臨時名稱。
別名常用於使列名更易讀。
別名僅在查詢期間有效。
別名使用 AS
關鍵字建立。
AS 是可選的
實際上,在大多數資料庫語言中,您可以省略 AS 關鍵字而獲得相同的結果
語法
當別名用於列時
SELECT column_name AS alias_name
FROM table_name;
當別名用於表時
SELECT column_name(s)
FROM table_name AS alias_name;
演示資料庫
以下是示例中使用的 Customers 和 Orders 表中的部分資料
客戶
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
訂單
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10248 | 90 | 5 | 7/4/1996 | 3 |
10249 | 81 | 6 | 7/5/1996 | 1 |
10250 | 34 | 4 | 7/8/1996 | 2 |
列的別名
以下 SQL 語句建立了兩個別名,一個用於 CustomerID 列,一個用於 CustomerName 列
使用帶空格的別名
如果您希望您的別名包含一個或多個空格,例如 “My Great Products
”,請將您的別名用方括號或雙引號括起來。
注意:一些資料庫系統允許使用 [] 和 "",而一些只允許其中一種。
連線列
以下 SQL 語句建立了一個名為“Address”的別名,該別名組合了四個列(Address、PostalCode、City 和 Country)
示例
SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;
自己動手試一試 »
注意:要在 MySQL 中執行上述 SQL 語句,請使用以下程式碼
MySQL 示例
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;
自己動手試一試 »
注意:要在 Oracle 中執行上述 SQL 語句,請使用以下程式碼
Oracle 示例
SELECT CustomerName, (Address || ', ' || PostalCode || ' ' || City || ', ' || Country) AS Address
FROM Customers;
表的別名
使用表別名時,規則相同。
在查詢中使用表別名看起來可能沒用,但當您的查詢中使用了多個表時,它可以使 SQL 語句更短。
以下 SQL 語句從 CustomerID=4 的客戶(Around the Horn)那裡選擇所有訂單。我們使用“Customers”和“Orders”表,並分別將它們命名為別名“c”和“o”(這裡使用別名是為了讓 SQL 更簡短)
示例
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 語句與上面相同,但沒有使用別名
示例
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName='Around the Horn' AND Customers.CustomerID=Orders.CustomerID;
自己動手試一試 »
別名在以下情況很有用:
- 查詢中涉及多個表
- 查詢中使用了函式
- 列名過長或不易讀
- 組合了兩個或多個列