SQL基礎知識V2——AS別名

SQL專欄sql

SQL數據庫基礎知識彙總數據庫

SQL數據庫高級知識彙總ide

經過使用 SQL,能夠爲表名稱或列名稱指定別名(Alias)。函數

別名的做用code

  • SQL 別名用於爲表或表中的列提供臨時名稱。 blog

  • SQL 別名一般用於使列名更具可讀性。 it

  • SQL 一個別名只存在於查詢期間。

使用別名的場景table

在下列狀況下使用別名是有用的:
查詢涉及多個表 class

  • 用於查詢函數基礎

  • 須要把兩個或更多的列放在一塊兒

  • 列名長或可讀性差

列的別名語法
SELECT column_name AS alias_name

FROM table_name;

表的別名語法
SELECT column_name(s)

FROM table_name AS alias_name;

示例數據庫
如下是"Customers" 表中的數據:

SQL基礎知識V2——AS別名

下面是選自 "Orders" 表的數據:

SQL基礎知識V2——AS別名

列的別名實例
如下SQL語句建立兩個別名,一個用於客戶ID列,另外一個用於姓名列:

實例

SELECT 客戶ID AS CustomerID,
姓名  AS Customer
FROM  Customers;

結果以下:

SQL基礎知識V2——AS別名

:查詢出來的列名會以別名的形式顯示,再也不顯示原來的列名,可是物理表的列名仍是沒變,這樣在不影響表結構的前提下,能夠根據實際須要重命成本身想要的名稱。

如下SQL語句建立兩個別名,一個用於姓名列,一個用於城市列。

:若是別名包含空格,則須要雙引號或方括號:

實例

SELECT 姓名 AS Customer,
城市 AS [City Name]
FROM Customers;

結果以下:

SQL基礎知識V2——AS別名

如下SQL語句建立一個名爲「地址」的別名,它包含四列(姓名,省份,城市,地址和郵編):

SELECT 姓名,
省份 +
城市 +
地址 + ',郵編:' +
郵編  AS 地址
FROM Customers;

結果以下:

注:若是咱們不使用AS,上面的地址列就會顯示 (無列名)

注意:要使上面的SQL語句在MySQL中工做,請使用如下命令:

SELECT 姓名,
CONCAT(地址,
省份,
城市,
',郵編:',
郵編
) AS 地址
FROM Customers;

注:Mysql中的字符拼接須要使用CONCAT函數,不能直接使用+

SQL基礎知識V2——AS別名

表別名實例

如下SQL語句建立兩個列別名,一個用於姓名列,一個用於訂單日期列,同時建立兩個表列名,分別用於Customers表和Orders表

SELECT
c.姓名 AS Customer,
o.訂單日期 AS Orderdate
FROM Customers AS c
JOIN Orders AS o
ON c.客戶ID=o.客戶ID

結果以下:

SQL基礎知識V2——AS別名

:上面咱們分別對錶名和列名進行了重命名,須要注意的是ON和WHERE以及其餘涉及條件篩選的地方,不能使用重命名後的名稱,GROUP BY 也不行。此外在進行重命名時AS是能夠省略的。

批註

AS別名在多表進行關聯時能夠很好的處理表名相同的狀況,好比兩個表都存在姓名列,能夠將A表的姓名命名成A_NAME,B表的姓名命名成B_NAME,這樣在閱讀代碼時候能夠一目瞭然。此外AS通常只對查詢的列和表以及ORDER BY重命名後的別名纔有效,其餘地方仍是須要使用原始列名。

相關文章
相關標籤/搜索