SQL- ORDER BY 절

박현·2022년 10월 11일
1

SQL

목록 보기
17/34

ORDER BY 정렬

  • ORDER BY절은 SQL문장으로 조회한 데이터들을 다양한 목적에 맞게 특정 컬럼을 기준으로 정렬,출력하는데 사용한다.
  • ORDER BY절에 컬럼명 대신에 SELECT절에서 사용한 ALIAS명이나 컬럼순서를 나타내는 정수도 사용 가능하다.
  • 별도로 정렬방식을 지정하지 않으면 기본적으로 오름차순이 적용되며, SQL문장의 제일 마지막에 위치한다.
SELECT 컬럼명 [ALIAS명]
FROM 테이블명
[WHERE 조건식]
[GROUP BY 컬럼이나 표현식]
[HAVING 그룹조건식]
[ORDER BY 컬럼이나 표현식 [ASC 또는 DESC ]];
  • ORDER BY 절은 2가지의 정렬방식이 있다.
    • ASC (Ascending) : 조회한 데이터를 오름차순으로 정렬한다. (기본값이므로 생략가능.)
    • DESC (Descending) : 조회한 데이터를 내림차순으로 정렬한다.

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;

출력🖥️


SELECT 문장 실행 순서

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절에서 사용되면 에러가 발생한다.

0개의 댓글