mysql SQL Alias用法及Alias(別名)文法

來源:互聯網
上載者:User


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 語句您可以看到,別名使查詢程式更易閱讀和書寫。





Id
LastName
FirstName
Address
City


1
Adams
John
Oxford Street
London


2
Bush
George
Fifth Avenue
New York


3
Carter
Thomas
Changan Street
Beijing




SELECT LastName AS Family, FirstName AS Name FROM Persons
 





Family
Name


Adams
John


Bush
George


Carter
Thomas




接下來,我們討論 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 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.