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

·2025년 7월 1일
0

SQL

목록 보기
22/126

예제. 이름과 월급을 출력하는데 월급이 낮은 사원부터 높은 사원 순으로 출력

select ename, sal
 from emp
 order by sal asc;

order by 컬럼명 정렬옵션
asc가 기본값
1. asc : 오름차순. 낮은값부터 높은값순으로 출력
2. desc : 내림차순. 높은값부터 낮은값순으로 출력


문제1. 이름과 입사일을 출력하는데 입사일이 최근에 입사한 사원부터 출력

select ename, hiredate
 from emp
 order by hiredate desc;

문제2. emp21 테이블에서 이름과 나이를 출력하는데 나이가 높은 학생부터 낮은 학생순으로 출력하시오

select ename, age
 from emp21
 order by age desc;

문제3. 위의 결과를 다시 출력하는데 생일도 같이 출력하는데 나이가 같으면 생일이 먼저인 학생부터 출력되게 하시오

select ename, age, birth
 from emp21
 order by age desc, birth asc;

문제4. 사원 테이블에서 이름과 직업과 월급을 출력하는데, 직업은 ABCD 순으로 출력하고 이것을 기준으로 월급이 높은 사원부터 출력하시오

select ename, job, sal
 from emp
 order by job, sal desc;
 
-- 위와 같음
select ename, job, sal
 from emp
 order by 2, 3 desc;
  • order by절에 컬럼명 대신 숫자를 사용할 수 있는데
    이때, 숫자는 select절의 컬럼 순서

문제5. 사원이름, 월급*12 를 출력하시오

select ename, sal*12
 from emp;

문제6. 위의 결과를 다시 출력하는데 월급*12 의 컬럼명을 연봉이라고 출력하시오

select ename, sal*12 as 연봉
 from emp;

문제7. 위의 결과를 다시 출력하는데 연봉이 높은 사원부터 출력하시오

select ename, sal*12 as 연봉
 from emp
 order by 연봉 desc;
  • 실행순서: from - select - order by

0개의 댓글