반응형
에러 메시지
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
반응형