FROM 절에 서브쿼리를 사용할 때는 반드시 Alias를 붙여야 합니다.
SELECT * FROM ( SELECT * FROM orders ) o;
왜 그럴까요?
FROM (SELECT …)는 실제 테이블이 아니라 이름 없는 임시 결과 집합(파생 테이블)입니다.
SQL 엔진은 이 결과를 참조하기 위해 식별할 이름이 필요합니다. 그래서 반드시 Alias를 붙여야 합니다.
Alias 없이 작성하면 대부분의 DB에서 문법 오류가 발생합니다.