본문 바로가기
Infra & Security Eng/Database Engineering

정렬 문제

by 엔지니어 E 2026. 1. 27.
반응형
1. 성적순으로 학생의 이름을 검색한다.

2. 학과별 성적순으로 학생의 정보를 검색한다.

3. 학년별 성적순으로 학생의 정보를 검색한다.

4. 학과별 학년별로 학생의 정보를 성적순으로 검색한다.

5. 학점 순으로 과목 이름을 검색한다.

6. 각 학과별로 교수의 정보를 검색한다.

7. 지위별로 교수의 정보를 검색한다.

8. 각 학과별로 교수의 정보를 부임일자 순으로 검색한다.

9. 급여가 10% 인상된 경우 부서별로 각 사원의 연봉을 연봉순으로 검색한다.

10.보너스가 100% 인상된 경우 업무별로 각 사원의 연봉을 연봉순으로 검색한다.

학생 및 과목 관련 (student, course 테이블)

  1. 성적순으로 학생의 이름을 검색한다.
    • SELECT sname FROM student ORDER BY avr DESC;
    • (설명: avr은 평점입니다. 성적이 높은 순서대로 봐야 하므로 DESC(내림차순)를 붙였습니다.)
  2. 학과별 성적순으로 학생의 정보를 검색한다.
    • SELECT * FROM student ORDER BY major, avr DESC;
    • (설명: 학과(major)로 먼저 묶은 뒤, 그 안에서 성적(avr)이 높은 순으로 줄을 세웁니다.)
  3. 학년별 성적순으로 학생의 정보를 검색한다.
    • SELECT * FROM student ORDER BY syear, avr DESC;
    • (설명: 학년(syear)별로 먼저 끼리끼리 모으고, 학년 내에서 성적순으로 정렬합니다.)
  4. 학과별 학년별로 학생의 정보를 성적순으로 검색한다.
    • SELECT * FROM student ORDER BY major, syear, avr DESC;
    • (설명: 학과(major)로 묶고, 그 안에서 학년(syear)으로 또 묶은 뒤, 최종적으로 성적순으로 나열합니다.)
  5. 학점 순으로 과목 이름을 검색한다.
    • SELECT cname FROM course ORDER BY st_num DESC;
    • (설명: 과목 이름(cname)을 뽑되, 학점수(st_num)가 높은 순서대로 보여줍니다.)

교수 관련 (professor 테이블)

  1. 각 학과별로 교수의 정보를 검색한다.
    • SELECT * FROM professor ORDER BY section;
    • (설명: 소속학과(section)가 같은 교수님들끼리 모아서 확인하기 위한 정렬입니다.)
  2. 지위별로 교수의 정보를 검색한다.
    • SELECT * FROM professor ORDER BY orders;
    • (설명: 직위(orders)를 기준으로 정렬하여 같은 직급끼리 묶어서 보여줍니다.)
  3. 각 학과별로 교수의 정보를 부임일자 순으로 검색한다.
    • SELECT * FROM professor ORDER BY section, hiredate;
    • (설명: 학과(section)별로 먼저 묶은 뒤, 그 안에서 부임일(hiredate)이 빠른 순서대로 정렬합니다.)

사원 관련 (emp 테이블)

  1. 급여가 10% 인상된 경우 부서별로 각 사원의 연봉을 연봉순으로 검색한다.
    • SELECT dno, ename, (sal * 1.1*12) AS 인상연봉 FROM emp ORDER BY dno, 인상연봉 DESC;
    • (설명: 부서번호(dno)로 먼저 묶고, 10% 계산한 결과(sal * 1.1)인 인상된 연봉이 높은 순으로 정렬합니다.)
  2. 보너스가 100% 인상된 경우 업무별로 각 사원의 연봉을 연봉순으로 검색한다.
    • SELECT job, ename, sal*12 AS 연봉, nvl(comm, 0) * 2 AS 인상보너스 FROM emp ORDER BY job, sal DESC;
(설명: 업무(job)별로 묶은 뒤, 연봉(sal)이 높은 순서대로 정렬합니다. 보너스 100% 인상은 * 2로 계산합니다.)