샘플 스키마 : HR
설명하는 과정에서 예제로 주어진 문장은 눈으로 보지만 말고 직접 실행시켜 보길 권한다.
No. 01 |
|
| |
ORDER BY 절을 이용한 정렬된 데이터 검색 |
기본 구조
SELECT * | {[DISTINCT] 컬럼명 or 표현식 [별명], …}
FROM 테이블명
[WHERE 조건]
ORDER BY 컬럼 [ASC/DESC], 컬럼 [ASC/DESC] …;
- ORDER BY 절은 SELECT 문의 마지막에 사용해야 한다.
- ASC : 오름차순 정렬, DESC : 내림차순 정렬, (지정하지 않으면 ASC가 기본 값)
- 정렬하는 컬럼이 여러 개인 경우 앞쪽 컬럼의 정렬이 깨지지 않는 범위 내에서 두 번째 컬럼의 정렬을 수행한다.
- 정렬 대상은 컬럼이 아니더라도 사용 가능하다.
- 별명
- 검색 항목의 순서
- 수식
◈ 예제
▶ 사원의 정보를 급여 순으로 검색한다.(오름차순)
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 |