728x90
반응형

-Order by절은 결과값을 정렬 하는 것이다.

-기본적으로 order by절은 select문 뒤에 쓰인다.

 

 

-기본 order by절

SQL>select empno, ename, sal

    from emp

    order by empno asc;

SQL>select empno, ename, sal

    from emp

    order by empno desc;

 ->오름차순 정렬  ->내림차순 정렬

 

asc나 desc를 사용하지 않은경우에는 기본적으로 오름차순(asc) 정렬이 된다.

 

 

-컬럼번호로 정렬하기

SQL>select empno, ename, sal 
    from emp
    order by 3

 

select 리스트에 있는 컬럼들에 번호를 순서대로 부여하여 order by절에 3번째 컬럼인 sal을 기준으로 정렬하게 된다.

 

 

-select 리스트에 없는 컬럼으로 정렬하기

SQL>select empno, ename, sal 
    from emp
    order by deptno;

 

order by절은 select리스트에 컬럼이 없어도 테이블에 있는 컬럼이라면 order by절에 넣어서 정렬할 수 있다.

 

 

-가공된 결과로 정렬하기

SQL>select hiredate, to_char(hiredate, 'Q')
    from emp
    order by to_char(hiredate, 'Q')

 

함수를 사용한 결과로도 정렬할 수 있다.

 

 

-컬럼 alias로 정렬하기 

SQL>select empno, ename, sal as salary
    from emp
    where salary >= 2000;   --에러
SQL>select empno, ename, sal as salary
    from emp
    order by salary;   --실행
 ->Where절에 컬럼 alias 사용할 수 없다. ->Order by절에 컬럼 alias 사용할 수 있다.

 

 Where절에서는 컬럼 alias를 사용할 수 없지만 order by절에서는 컬럼 alias를 사용할 수 있다.

 또한 order by절에서는 컬럼명(order by salary -> order by sal)으로도 사용할 수 있다. 

              

alias를 사용하는 방법은 다른 포스트를 검색해보면 찾아볼 수 있다.

 

 

위의 예제들을 참고해서 다양한 order by절을 응용할 수 있다.

728x90
반응형

'SQL > ORACLE' 카테고리의 다른 글

SQL 서브쿼리의 시작  (0) 2014.02.12
오라클(DB) 프로시저 문법  (0) 2014.02.12
[ORACLE]SELECT의 정의  (0) 2014.02.12
[ORACLE]WHERE절의 기능  (0) 2014.02.12
[ORACLE]ALIAS란?  (0) 2014.02.12
[ORACLE]ALIAS란?  (0) 2014.02.12
[ORACLE]SELECT문 해석 순서  (0) 2014.02.12
[ORACLE]DUAL 테이블이란?  (0) 2014.02.12
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,