728x90
SQL에서는 별칭을 사용할 수 있다. 그런데 구문에 따라서 별칭 사용이 가능할 수도 , 아닐 수도 있다. 이는 SQL 쿼리가 실행될 때 순서가 있기 때문이다.
예를 들어서, 다음과 같은 테이블이 있다고 하자, 가격과 수량 정보가 있는 간단한 테이블이다.
가격과 수량을 곱해서 amount 라는 별칭으로 컬럼을 하나 더 만들어 주었다.
그런데 다음과 같이 WHERE 절에서 amount 라는 별칭을 사용하게 되면 Unknown column 이라는 에러가 발생한다.
이는 SQL 서버에서 내부처리가
WHERE -> SELECT -> ORDER BY 구 순서로 실행되기 때문이다. 그리고 SELECT 구가 실행될 때 별칭 amount 가 지정된다.
따라서 SELECT 다음으로 실행되는 ORDER BY 구에서 amount 라는 별칭을 사용하는 경우 문제없이 실행되는 것을 확인할 수 있다.
728x90
'Data Engineering > SQL' 카테고리의 다른 글
[SQL] SQL 실행순서 (0) | 2024.08.21 |
---|---|
[SQL] 프로그래머스 SQL 풀이 - SUM, MAX, MIN (0) | 2024.06.19 |
[프로그래머스] SELECT 유형 SQL 문제 풀이 (0) | 2024.06.15 |
[MySQL] ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 에러 해결 (0) | 2023.06.06 |
프로그래머스 SQL - SELECT 문 (0) | 2023.04.03 |