-
4.5 ORDER BYOracle 2023. 7. 25. 15:47
4.5 ORDER BY
4.5.1 기본적인 사용
SELECT FROM ... ORDER BY {COLUMN_NAME | COLUMN_LIST} [ASC(기본값) | DESC]
select ename, job, sal, hiredate from emp order by sal;
SAL값에 따라 오름차순으로 행이 정렬된 것을 확인할 수 있다.
select ename, job, sal, hiredate from emp order by sal asc;
위 코드와 동일한 결과로 asc를 생략할 수 있는 것이다.
select ename, job, sal, hiredate from emp order by sal desc;
desc 옵션을 통해 내림차순으로 정렬할 수 있었다.
4.5.2 애매한 정렬 기준
Q. 입사일 순으로 사원을 정렬하라
- 날짜는 최근 날짜일 수록 값이 크다
select ename, job, sal, hiredate from emp order by hiredate;
Q. 커미션 순으로 정렬하라
- null 값이 나중에 나온다. DBMS마다 다를 수 있다.
select ename, job, sal, comm from emp order by comm;
4.5.3 두 개 이상의 정렬 기준 사용하기
1차 정렬의 기준에서 중복이 발생할 때
2차 정렬 기준을 줄 수 있다.
select ename, job, sal, deptno from emp order by deptno, sal;
1차 기준인 deptno 같은 경우,
2차 기준인 sal 값이 기준이 되어 정렬이 된 것을 확인할 수 있다.
select ename, job, sal, deptno from emp order by deptno desc, sal desc;
오름/내림차순을 적용하려면 각 기준에 개별적으로 적용해줘야 한다.
select ename, job, sal, comm, sal * 12 + nvl(comm, 0) ann_sal from emp order by sal * 12 + nvl(comm, 0);
select ename, job, sal, comm, sal * 12 + nvl(comm, 0) ann_sal from emp order by ann_sal;
위와 같이 order by에 표현식을 쓸 수도 있고, 별칭을 붙여 사용할 수도 있다.
'Oracle' 카테고리의 다른 글
5. 집합연산자: UNION, UNION ALL, MINUS, INTERSECT (0) 2023.07.31 5.SQL연산자 : IN, BETWEEN A AND B, LIKE, IS NULL, NOT (0) 2023.07.31 4.3 별칭 4.4 연결 연산자 || (0) 2023.07.25 4.2 select 문장의 구성, 4.3 select 절의 기본과 표현식 (0) 2023.07.25 4.1 셀렉트문장의 기본 형식과 특성 (0) 2023.07.25