정렬된 데이터 검색
SQL> select [distinct | all] 컬럼 컬럼… from 테이블 order by 컬럼 [asc/desc], 컬럼 [asc/desc]….
예제 1. 사원의 이름을 급여 순으로 검색한다.
SQL> select eno 사번,
ename 이름,
sal 급여 from emp order by sal desc;
예제 2. 사원의 사번과 이름을 연봉 순으로 검색한다.
SQL> select eno 사번,
ename 이름 from emp order by sal*12+nvl(comm,0) desc;
SQL> select eno 사번, ename 이름, sal*12+nvl(comm,0) 연봉 from emp order by 연봉 desc;
SQL>
select eno, ename, sal from emp order by eno;
=
select eno, ename, sal from emp order by 1;
# 그림과 같이 열값 말고도 순서를 정수형으로 표현해도 가능함.
SQL> select eno, ename, sal from emp order by ename;
=
select eno, ename, sal from emp order by 2 ;
SQL>
select eno, ename, sal from emp order by sal;
=
select eno, ename, sal from emp order by 3;
정렬을 이용한 묶음 검색
에제 3. 업무 별로 사원의 급여를 검색한다.
SQL> select job 업무,
eno 사번, ename 이름, sal 급여 from emp order by 업무;
예제 4. 각 부서별로 사원의 급여를 검색한다. 단 급여를 많이 받는 사람부터 검색한다.
SQL> select dno 부서번호, eno 사번, ename 이름, sal 급여 from emp order by 부서번호, 급여 desc;
1. 성적순으로 학생의 이름을 검색한다.
select
sname from student order by avr desc;
2. 학과별 성적순으로 학생의 정보를 검색한다.
select
* from student order by major, avr desc;
3. 학년별 성적순으로 학생의 정보를 검색한다.
select
* from student order by 4, 6 desc;
4. 학과별 학년별로 학생의 정보를 성적순으로 검색한다.
select
* from student order by 5 , 4, 6 desc;
5. 학점 순으로 과목 이름을 검색한다.
select
cname from course order by 3 desc;
6. 각 학과별로 교수의 정보를 검색한다.
select
* from professor order by section;
7. 지위별로 교수의 정보를 검색한다.
select
* from professor order by orders ;
8. 각 학과별로 교수의 정보를 부임일자 순으로 검색한다.
select
* from professor order by hiredate;
9. 급여가 10% 인상된 경우 부서별로 각 사원의 연봉을 연봉순으로 검색한다.
select
ename, job, ((sal*1.1*12)+nvl(comm,0)) from emp order by job,
((sal*1.1*12)+nvl(comm,0)) desc;
10. 보너스가 100% 인상된 경우 업무별로 각 사원의 연봉을 연봉순으로 검색한다.
select
ename, job, ((sal*12)+nvl(comm*2,0)) from emp order by job,
((sal*12)+nvl(comm*2,0)) desc;






댓글 없음:
댓글 쓰기