[Oracle] Order by 1, 2,... 구문의 의미와 사용 방법
인수인계 받은 쿼리를 분석하던 중 아래의 구문을 발견하였다.
"Order by 1, 2, 3 desc, 4"
이는 직관적으로 이해할 수 있다.
"Order by 첫 번째 컬럼, 두 번째 컬럼, 세 번째 컬럼 desc, 네 번째 컬럼"이라는 의미이다.
오라클의 "Order by 상수"의 사용 방법은 아래와 같다.
select 2 col1,'aaa' col2, 'A' col3 from dual
UNION ALL
select 2 col1,'aaa' col2, 'B' col3 from dual
UNION ALL
select 1 col1,'bbb' col2, 'B' col3 from dual
ORDER BY 1, 3, 2 -- Order by col1, col3, col2와 동일하다.
당연히 asc, desc 사용이 가능하다.
+) 개인적인 생각
짧고 단순한 쿼리이거나 컬럼명이 아주 긴 경우에, 작업자의 쿼리 작성 속도가 빨라지는 등의 장점이 있겠다.
그러나 장문의 쿼리에서 사용하게 된다면 지정한 컬럼이 무엇인지 즉시 알기 어려우므로
유지보수하는 입장에서 불친절한 쿼리라고 느꼈다.
반응형
반응형
'개발하는 '정' > DB' 카테고리의 다른 글
MariaDB Server 설치 (0) | 2023.09.05 |
---|---|
MySql Workbench 설치 및 접속 (0) | 2023.08.08 |
오라클 날짜 계산 (년, 월, 일, 시간 더하기/빼기) (0) | 2023.03.15 |
ORACLE 최근 3개년 데이터 (+ 없으면 0으로 출력) (0) | 2023.01.18 |
오라클 테이블 권한 조회 (0) | 2022.12.22 |
댓글