SELECT column_name(s) FROM table_name AS alias_name
SELECT column_name AS alias_name FROM table_name
假設我們有兩個表分別是:"Persons" 和 "Product_Orders"。我們分別為它們指定別名 "p" 和 "po"。 現在,我們希望列出 "John Adams" 的所有定單。 我們可以使用下面的 SELECT 語句: SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p
, Product_Orders AS po
WHERE p.LastName='Adams' WHERE p.FirstName='John'
不使用別名的 SELECT 語句: SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName FROM Persons, Product_Orders WHERE Persons.LastName='Hansen' WHERE Persons.FirstName='Ola'
從上面兩條 SELECT 語句您可以看到,別名使查詢程序更易閱讀和書寫。
SELECT LastName AS Family
, FirstName AS Name
FROM Persons
接下來,我們討論 alias (別名) 在 SQL 上的用處。最常用到的別名有兩種: 欄位別名及表格別名。
簡單地來說,欄位別名的目的是為了讓 SQL 產生的結果易讀。在之前的例子中, 每當我們有營業額總合時,欄位名都是 SUM(sales)。雖然在這個情況下沒有什麼問題,可是如果這個欄位不是一個簡單的總合,而是一個復雜的計算,那欄位名就沒有這麼易懂了。若我們用欄位別名的話,就可以確認結果中的欄位名是簡單易懂的。
第二種別名是表格別名。要給一個表格取一個別名,只要在 FROM 子句中的表格名後空一格,然後再列出要用的表格別名就可以了。這在我們要用 SQL 由數個不同的表格中獲取資料時是很方便的。這一點我們在之後談到連接 (join) 時會看到。
我們先來看一下欄位別名和表格別名的語法:
SELECT "表格別名"."欄位1" "欄位別名" FROM "表格名" "表格別名"
基本上,這兩種別名都是放在它們要替代的物件後面,而它們中間由一個空白分開。我們繼續使用 Store_Information這個表格來做例子:
Store_Information 表格
store_namesalesdate
Los Angeles$1500jan-05-1999
San Francisco$300jan-08-1999
Boston$700jan-08-1999
我們用跟 SQL GROUP BY 那一頁一樣的例子。這裡的不同處是我們加上了欄位別名以及表格別名:
SELECT A1.store_name Store, SUM(A1.Sales) "Total Sales" FROM Store_Information A1 GROUP BY A1.store_name
結果:
Store Total Sales
Los Angeles $1800
San Diego $250
Boston $700