📦 Database/SQL

SQL Alias

신건우 2023. 4. 8. 10:33

💡 Alias

테이블의 열에 별칭을 지정하는데 사용하며, 쿼리가 살아있는 동안에만 적용된다.

/* 컬럼 alias */
SELECT colemn_name AS alias_name
FROM table_name;
/* 테이블 alias */
SELECT column_name(s)
FROM table_name AS alias_name;

Sample Table

Customers

CustomerID CustomerName ContactName Address City PostalCode Country
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
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

Orders

OrderID CustomerID EmployeeID OrderDate ShipperID
10354 58 8 1996-11-14 3
10355 4 6 1996-11-15 1
10356 86 6 1996-11-18 2

예시

CustomerId와 CustomerName 컬럼에 각각 하나씩 별칭 생성

SELECT CustomerID AS ID, CUstomerName AS Customer
FROM Customers;

별칭에 공백이 포함된 경우 " " 또는 [ ] 필요

SELECT CustomerID AS ID, CUstomerName AS [Customer Person]
FROM Customers;

4개의 컬럼을 묶어서 하나의 Address 별칭으로 생성

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' Country AS Address
FROM customers;

위의 예시의 Mysql 사용법

SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,',',Country) AS Address
FROM Customers

CustomerID가 4 (Around the Horn)인 고객의 모든 주문을 선택.

Order = o , Customers = c 별칭을 사용


별칭 미사용 예시

SELECT Orders.OrderID, Orders.OrderDate, Customers,CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName = 'Around the Horn' AND
Customers.CustomerID = Orders.CustomerID;

별칭 사용 예시

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;