Where

SQL문제를 풀다가 알게되었는데 별칭이 있는 컬럼은 WHERE절에서 사용하지 못 한다. 찾아보니 사용하지 못 하는 이유는 SQL의 실행순서때문이라고 한다. SQL의 실행순서는 아래와 같다. FROM / JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY -> LIMIT 보다시피 SELECT절보다 WHERE절이 먼저 실행이 된다. 그렇기 때문에 WHERE절에서 별칭이 붙은 컬럼을 이용하면 오류가 발생하는 것! SELECT 이전에는 별칭을 사용할 수 없지만, 그 후부터는 별칭이 사용이 가능하다. 그런데 내가 풀은 문제에서는 HAVING에서 별칭을 이용했다. HAVING 역시 SELECT 전에 수행이 되는데 어떻게 이건 오류가 안 날까?에 대한 의문이 있었다..
i_zzy
'Where' 태그의 글 목록