오라클에서 ORDER BY 1, 2, 3
이런 내용을 본 적이 있었을 텐데
뭔 말인고 하면
테이블의 1,2,3번째 컬럼 기준으로
정렬하겠다는 말이다
즉 ORDER BY 1 DESC는
첫번째 열 기준으로 내림차순 정렬이라는 말이다
컬럼 번호를 이용해 정렬하는 방식은
겉보기에는 그럴싸하지만
컬럼 숫자만으로는
어느 컬럼을 지정한 건지 알아보기 어렵고
컬럼을 추가, 삭제하는 등 변경했을 경우
ORDER BY가 꼬일 수 있기 때문에
컬럼명을 기준으로
ORDER BY를 거는 것을 권장한다
마지막으로 예제에 사용한 코드는 아래와 같다
SELECT * FROM SCOTT.EMP
ORDER BY 1, 2, 3 -- 1,2,3번째 컬럼 순으로 오름차순 정렬
-- ORDER BY EMPNO, ENAME, JOB과 동일
SELECT * FROM SCOTT.EMP
ORDER BY 1 DESC -- 1번째 컬럼 기준으로 내림차순 정렬
-- ORDER BY EMPNO DESC와 동일
SELECT * FROM SCOTT.EMP
ORDER BY 2 -- 2번째 컬럼 기준으로 오름차순 정렬
-- ORDER BY ENAME과 동일
728x90
반응형
'DB > SQL' 카테고리의 다른 글
[오라클] start with connect by prior order siblings by (0) | 2021.03.16 |
---|---|
[Oracle] 오라클 계층형 쿼리(START WITH.. CONNECT BY) (0) | 2021.03.16 |
[Oracle] 오라클 EXISTS, NOT EXISTS 사용법 정리 (IN, JOIN 비교) (0) | 2021.03.16 |
ANSI SQL이란? /LEFT OUTER JOIN/ RIGHT OUTER JOIN/FULL OUTER JOIN (0) | 2021.03.16 |
[Oracle] 조인 (JOIN), 아우터 조인(Outer Join) (0) | 2021.03.16 |
댓글