Database/SQL
[SQL] SELECT문 - ORDER BY 절
gangintheremark
2023. 7. 26. 16:30
728x90
기본적으로 테이블에 저장된 데이터는 정렬되어 있지않다. 따라 데이터를 조회할 때 특정 컬럼을 기준으로 정렬해서 검색해야 한다. ORDER BY
의 옵션으로 오름차순인 ASC
와 내림차순인 DESC
가 있으며 기본은 오름차순이다.
수치데이터 정렬
-- 월급이 가장 높은 순서로 출력
SELECT employee_id,last_name, salary
FROM employees
ORDER BY salary DESC;
-- 별칭(alias)으로 지정 가능
SELECT employee_id,last_name, salary as 월급
FROM employees
ORDER BY 월급 DESC;
-- SELECT 절에서 지정된 컬럼의 순서값으로 지정 가능
SELECT employee_id,last_name, salary as 월급
FROM employees
ORDER BY 3 DESC;
문자데이터 정렬
-- 사원의 이름순으로 오름차순 정렬
SELECT employee_id,last_name as 이름
FROM employees
ORDER BY last_name ASC;
날짜데이터 정렬
오름차순
으로 지정하면 가장 오래된 과거의 날짜가 먼저 출력되고 내림차순
인 경우에는 가장 최근 날짜부터 출력된다.
-- 입사일이 가장 최근인 사원부터 출력
SELECT employee_id,last_name,hire_date as 입사일
FROM employees
ORDER BY hire_date DESC;
다중 데이터 정렬
하나의 컬럼이 아닌 여러 개의 컬럼을 사용하여 정렬한다
-- 월급으로 정렬 하고, 월급이 같은 사원이 존재할 경우 입사일이 빠른 사원부터 출력
SELECT employee_id,last_name,salary,hire_date
FROM employees
ORDER BY salary DESC, hire_date;
-- SELECT 절에서 지정된 컬럼의 순서값으로 지정 가능
SELECT employee_id,last_name,salary,hire_date
FROM employees
ORDER BY 3 DESC, 4;
널(Null) 값 정렬
정렬하는 컬럼에 널(Null)값이 존재하는 경우, Oracle은 Null 값을 가장 큰 값으로 처리
728x90