개요
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