• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

order by 1, 2, 3 의 의미

22.05.14 18:46 작성 조회수 2.8k

3

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
order by 1, 2, 3 의 의미가 무엇인지 잘 모르겠습니다.

답변 1

답변을 작성해보세요.

8

안녕하십니까, 

order by 는 컬럼명을 사용할 수도 있는데, 숫자값을 지정할 수도 있습니다. 이때 숫자값은 select 절에 사용된 컬럼명들을 순서대로 지정한 것입니다. 

예를 들어 

select ename, deptno, empno 

from hr.emp

order by ename, empno, deptno 와 

select ename, deptno, empno

from hr.emp

order by 1, 3, 2 

는 서로 동일합니다. 

select 절에 사용된 ename은 숫자값 1로, deptno는 숫자값 2로, empno는 숫자값 3으로 order by 절에서 사용될 수 있습니다.

SQL  수행시 order by는 select 보다 더 늦게 수행되므로 select 의 ename, deptno, empno을 숫자값으로 치환해서 order by를 수행할 수 있습니다. 

 

감사합니다. 

 

아라레님의 프로필

아라레

질문자

2022.05.14

감사합니다😀

Alejandro Lee님의 프로필

Alejandro Lee

2022.11.22

저도 몰랐는데 ㅎㅎ 감사해요~

Jayden님의 프로필

Jayden

2023.11.29

order by 1, 2, 3

이렇게 기술하는 것이 ANSI 표준인건가요?

다른 DBMS 즉, mysql, oracle 에서도 통용되는 문법인지요?

ANSI 표준까지는 모르겠습니다만, Oracle, MySQL 다 통용 됩니다.