결과를 보면 먼저 region 칼럼으로 오름차순 정렬되고 이어서 continent, name순으로 오름차순 정렬됐습니다.
코드 5-30
SELECT name, continent, region
FROM country
WHERE population > 50000000
ORDER BY 4 DESC;
실행결과
코드 5-30은 ORDER BY 다음에 4 DESC를 명시했습니다. 이는 네 번째 칼럼 값 기준으로 내림차순 정렬하라는 뜻입니다. 그런데 쿼리를 실행하면 오류가 발생합니다. 왜일까요? 오류가 난 이유는 SELECT 절에 명시한 칼럼이 3개뿐이기 때문입니다. 4는 네 번째 칼럼을 의미하는데, 네 번째 칼럼은 존재하지 않죠.
입력창을 보면 “Unknown column ‘4’ in ‘order clause’”라는 오류 메시지가 나옵니다. 이는 SELECT 절에 네 번째 칼럼이 없어서 이를 인식하지 못한다는 뜻입니다. 이처럼 ORDER BY 다음에 숫자를 명시할 때는 반드시 SELECT 절에 명시한 칼럼 수를 확인해야 합니다.