Database

[MySQL] 별칭 (Alias)

비번변경 2023. 12. 20. 22:07

개요

SQL에서 테이블이나 컬럼에 대해 별칭을 지정하여 간단히 참조할 수 있다는 건 데이터베이스를 알고 있는 사람에게는 기본적인 지식이라고 할 수 있다.

하지만 나는 SELECT나 FROM 절 외의 다른 절에서도 참조할 수 있다는 걸 잘 기억하지 못하기 때문에 굳이 적어둔다.

 

 

별칭

SELECT 문에서는 키워드 AS를 사용해 별칭을 부여할 수 있다. 별칭은 표현식의 컬럼 이름이나 GROUP BY, ORDER BY, HAVING 절 등에서 사용할 수 있다.

SELECT FLOOR(PRICE / 10000) * 10000 AS PRICE_GROUP, 
       COUNT(1) AS `PRODUCTS`
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP

별칭은 컬럼 뿐만 아니라 테이블에도 부여할 수 있다.

SELECT t1.name, t2.salary FROM employee AS t1, info AS t2
  WHERE t1.name = t2.name;

 

 

AS

표현식 등에 별칭을 부여할 때 AS 키워드를 사용하는 것은 필수사항이 아니라 선택사항이다.

-- 컬럼
SELECT FLOOR(PRICE / 10000) * 10000 PRICE_GROUP, 
       COUNT(1) `PRODUCTS`
FROM PRODUCT
GROUP BY PRICE_GROUP
ORDER BY PRICE_GROUP;

-- 테이블
SELECT t1.name, t2.salary FROM employee t1, info t2
  WHERE t1.name = t2.name;

다만 SELECT문에서 컬럼 사이에 쉼표를 잊어버려 쿼리문이 의도와 다르게 동작할 때를 고려하면 AS 키워드를 명시적으로 사용하는 것을 권장한다.

참고로 WHERE 절에서는 컬럼의 값이 결정되지 않아 별칭을 참조할 수 없다.

 

 

참고 문서

https://dev.mysql.com/doc/refman/8.0/en/select.html

https://www.w3schools.com/sql/sql_ref_as.asp

 

728x90