- ORDER BY절은 SQL문장으로 조회한 데이터들을 다양한 목적에 맞게 특정 컬럼을 기준으로 정렬,출력하는데 사용한다.
- ORDER BY절에 컬럼명 대신에 SELECT절에서 사용한 ALIAS명이나 컬럼순서를 나타내는 정수도 사용 가능하다.
- 별도로 정렬방식을 지정하지 않으면 기본적으로 오름차순이 적용되며, SQL문장의 제일 마지막에 위치한다.
SELECT 컬럼명 [ALIAS명]
FROM 테이블명
[WHERE 조건식]
[GROUP BY 컬럼이나 표현식]
[HAVING 그룹조건식]
[ORDER BY 컬럼이나 표현식 [ASC 또는 DESC ]];
emp테이블에서 사원들의 이름, 사원번호, 급여를 출력하는데 사원이름을 내림차순으로 정렬하여 출력
입력✏️
SELECT ENAME, EMPNO, SAL FROM EMP ORDER BY ENAME DESC;
출력🖥️
- ORDER BY 절의 특징
- 기본적인 정렬 순서는 오름차순이다.
- 숫자형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력된다.
- 날짜형 데이터 타입은 오름차순으로 정렬했을 경우 날짜 값이 가장 빠른 값이 먼저 출력된다.
- ORACLE에서는 NULL 값을 가장 큰 값으로 간주해 오름차순으로 정렬했을 경우에는 가장 마지막에 내림차순으로 정렬했을 경우에는 가장 먼저 위치한다.
DEPT 테이블 정보를 부서명, 지역, 부서번호 내림차순으로 정렬해서 출력
입력✏️
SELECT DNAME, LOC, DEPTNO
FROM DEPT
ORDER BY DNAME, LOC, DEPTNO DESC;
출력🖥️
5 SELECT 컬럼명[ALIAS명]
1 FROM 테이블명
2 WHERE 조건식
3 GROUP BY 컬럼이나 표현식
4 HAVING 그룹조건식
6 ORDER BY 컬럼이나 표현식
1.발췌 대상 테이블을 참조한다
2.발췌 대상 데이터가 아닌 것은 제거한다.
3.행들을 소그룹화한다.
4.그룹핑된 값의 조건에 맞는 것만을 출력한다.
5.데이터 값을 출력,계산한다.
6.데이터를 정렬한다.
위 순서는 옵티마이저가 SQL문장의 SYNTAX, SEMANTC에러를 점검하는 순서이기도 하다.
FROM절에 정의되지 않은 테이블의 컬럼을 WHERE절, GROUP BY절, HAVING절, SELECT절, ORDER BY절에서 사용되면 에러가 발생한다.