샘플 스키마 : HR

설명하는 과정에서 예제로 주어진 문장은 눈으로 보지만 말고 직접 실행시켜 보길 권한다.


지정된 컬럼을 대상으로 정렬을 수행하는 ORDER BY 절에 대해서 배워본다.



No. 01

 

 

ORDER BY 절을 이용한 정렬된 데이터 검색


기본 구조

SELECT * | {[DISTINCT] 컬럼명 or 표현식 [별명], …}

FROM 테이블명

[WHERE 조건]

ORDER BY 컬럼 [ASC/DESC], 컬럼 [ASC/DESC] …;

  • ORDER BY 절은 SELECT 문의 마지막에 사용해야 한다.
  • ASC : 오름차순 정렬, DESC : 내림차순 정렬, (지정하지 않으면 ASC가 기본 값)
  • 정렬하는 컬럼이 여러 개인 경우 앞쪽 컬럼의 정렬이 깨지지 않는 범위 내에서 두 번째 컬럼의 정렬을 수행한다.
  • 정렬 대상은 컬럼이 아니더라도 사용 가능하다.
    1. 별명
    2. 검색 항목의 순서
    3. 수식


◈ 예제

▶ 사원의 정보를 급여 순으로 검색한다.(오름차순)

select employee_id, first_name, salary

from employees

order by salary asc;


▶ 사원의 정보를 급여 순으로 검색한다.(내림차순)

select employee_id, first_name, salary

from employees

order by salary desc;


▶ 사원의 정보를 연봉 순으로 검색한다.(오름차순, 별명사용)

select employee_id, first_name, salary*12 annsal

from employees

order by annsal;


select 절에서 지정한 별명을 사용할 수 있으며, 오름차순일 경우 asc를 생략해도 무방하다.


▶ 사원의 정보를 연봉 순으로 검색한다.(오름차순, 검색 항목의 순서사용)

select employee_id, first_name, salary*12

from employees

order by 3;


select 절에 기술된 순서를 지정해도 된다.

'salary*12'는 3번째 항이므로 'ORDER BY 3'이라고 써도 별명을 사용한 결과와 같다.


▶ 정렬하는 컬럼의 수가 여러개인 경우

select first_name, department_id, salary

from employees

order by department_id, salary desc;


두 개의 항목으로 정렬을 수행했다.

부서번호 컬럼은 정렬 방법을 생략했으므로 오름 차순(ASC) 정렬을 수행하고, 정렬된 부서번호 안에서 급여에 대해서 내림 차순(DESC)를 수행한 결과이다.



'SQL' 카테고리의 다른 글

[SQL 07] 단일 행 함수 - 숫자, 날짜 함수  (0) 2017.12.03
[SQL 06] 단일 행 함수 - 문자 함수  (0) 2017.12.03
[SQL 04] WHERE 절  (0) 2017.12.03
[SQL 03] SELECT 문  (0) 2017.11.30
[SQL 02] SQL Developer 간단 사용법 & SQL 언어  (0) 2017.11.29

+ Recent posts