본문 바로가기
DBMS/SQL튜닝

ORDER BY 컬럼명이 가리키는 컬럼은?

by 드바 2023. 7. 3.

 

ORDER BY  컬럼명이 가리키는 위치는 실제 컬럼명일까? alias 일까?
- 먼저 SELECT 절 컬럼명(alias)을 찾아보고 없으면 실제  컬럼을 찾아간다

 

테이블 데이터 조회

SELECT * FROM sk.t1 ;

	C1	   C2
---------- ----------
	 1	    5
	 2	    4
	 3	    3
	 4	    2
	 5	    1

 

alias 명으로 정렬

alias (c1 -> c2, c2 ->b) 라고 선언 후 order by c2 실행

SELECT c1 c2 , c2 b
FROM sk.t1 
ORDER BY c2
;  
	C2	    B
---------- ----------
	 1	    5
	 2	    4
	 3	    3
	 4	    2
	 5	    1
반응형

실제 컬럼명 정렬

alias (c1 -> a, c2 ->b) 라고 선언 후 order by c2 실행

SELECT c1 a, c2 b
FROM sk.t1 
ORDER BY c2
;  

	 A	    B
---------- ----------
	 5	    1
	 4	    2
	 3	    3
	 2	    4
	 1	    5

 

에러발생

alias 가 중복될 때 에러발생(c1 as c2, c2 as c2 이므로)

SELECT c1 as c2 , c2
FROM sk.t1 
ORDER BY c2
;  
ORDER BY c2
         *
ERROR at line 3:
ORA-00960: ambiguous column naming in select list
 

댓글