Backend/SQL

[SQL] Select절에 별칭(AS) 사용 후 Where절 Unknown Column 발생 이유

김세진 2022. 12. 6. 21:13
반응형

 

에러 메시지

SQL 오류 (1054): Unknown column 'xxx' in 'where clause'

 

 

원인

한 마디로 요약하자면 Select절 이전에 Where절이 실행되기 때문이다. 작성 순서상에는 Select 다음에 Where 절이라 실제 실행 순서를 간과한게 문제였다.

 

 

해결 방법

MySQL의 경우 각 절의 실행 순서는 아래와 같다. (Oracle 등 다른 DB의 경우 다를 수 있다.)

 

FROM
WHERE
SELECT
GROUP BY
HAVING
ORDER BY
LIMIT

 

따라서, Where 대신 Having을 사용하여 문제를 해결할 수 있다.

 

SELECT
	id AS userId
FROM 
	users
HAVING
	userId = 272

 

 

 

반응형