select 1 as from dual
이라고 실행하면 오류가 안납니다.
as 다음에 alias가 빠졌는데도 문법 오류를 보고하지 않네요...
그렇다고 as를 alias로 인식한 것도 아닙니다.
왜냐면
select 1 as as from dual
이라고 하면 오류가 나기 때문이죠...
즉 as는 alias로 사용할 수 없다는 뜻이니까요
실제로
select 1 as from dual
이라고 실행하면 컬럼명이 프린트될 때 "1AS"라고 프린트됩니다.
왜 이럴까요?
참고로 오라클은 예약어를 사용자 정의어로 사용하는 것에 상당히 관대합니다.
예를 들어 pivot은 예약어인데
select 1 pivot from dual
해도 오류가 아닙니다.
select 1 join from dual
해도 오류 안납니다.
select 1 over from dual
도 잘 됩니다.
참 재미있습니다
그런데 as는 왜 그럴까요? |