나의 개발일지

[SQL] ORDER BY (데이터의 정렬) 본문

Oracle SQL

[SQL] ORDER BY (데이터의 정렬)

YoonJuHan 2023. 4. 7. 17:08

ORDER BY

  1. 특정 순서로 행을 표시
  2. SQL 문의 가장 끝에 위치
  3. 행을 오름차순(기본 순서) 또는 내림차순으로 정렬
    1. 선택적으로 ASC | DESC 지정
  4. 여러 열 기준의 정렬
    1. ORDER BY 절에 쉼표로 열 이름을 구분하면서 여러 열을 지정
    2. 결과는 첫 번째 열 기준으로 정렬된 다음 그 결과 내에서 두 번째 열을 기준으로 정렬하는 방식
    3. ASC, DESC는 열 이름마다 별도 지정
  5. ORDER BY 절에 지정가능한 정렬 조건
    1. 열이름 또는 표현식
    2. 별칭
    3. SELECT 절에 나열된열 목록을 기준으로 한 열 위치 값
  • 사원 정보를 입사일이 가장 빠른 사원부터 순서대로(오름차순) 출력
SELECT emp_name, position, dept_id, hiredate
FROM y_emp
ORDER BY hiredate;

 

  • 가장 최근에 입사한 사원 순(내림차순)으로 결과를 정렬
SELECT emp_name, position, dept_id, hiredate
FROM y_emp
ORDER BY hiredate DESC;

 

  • 이름, 부서번호, 급여를 출력하는데 부서번호를 기준으로 오름차순 정렬하고 동일 부서 내에서는 급여가 많은 순서대로 내림차순 정렬한 결과 출력
SELECT emp_name, dept_id, salary
FROM y_emp
ORDER BY dept_id, salary DESC;

 

  • 사원번호, 이름, 연봉을 조회하는데 별칭인 연봉을 기준으로 내림차순 정렬
SELECT emp_id, emp_name, salary * 12 annsal
FROM y_emp
ORDER BY annsal DESC;

 

  • SELECT 목록에서의 열 또는 표현식의 위치 값으로 대체될 수 있다.
  • 1 = emp_id, 2 = emp_name, 3 = salary * 12
SELECT emp_id, emp_name, salary * 12 annsal
FROM y_emp
ORDER BY 3 DESC;

'Oracle SQL' 카테고리의 다른 글

[SQL] 날짜 함수 (단일 행 함수 3)  (0) 2023.04.09
[SQL] 숫자 함수 (단일 행 함수 2)  (0) 2023.04.09
[SQL] 문자 함수 (단일 행 함수 1)  (0) 2023.04.07
[SQL] WHERE 절  (0) 2023.04.05
[SQL] SELECT 문  (0) 2023.04.04
Comments