정렬 검색
SELECT * | [DISTINCT] 컬럼|수식 [AS 별명], ......
FROM 테이블
ORDER BY 컬럼 [ASC|DESC], 컬럼 [ASC|DESC], ......
- ORDER BY절은 지정된 컬럼으로 정렬을 한다.
- ASC는 오름차순, DESC는 내림차순 정렬을 한다.(기본값은 ASC)
- 정렬할 컬럼이 여러 개인 경우 앞의 지정한 컬럼이 우선순위를 가진다.
- 정렬 검색 시 주의
, select 절의 컬럼 순서는 가급적 사용 금지
, 연산식도 가급적 사용 금지(별명을 사용)
의미 없는 검색
- ORDER BY절의 정렬할 컬럼 값이 중복이 없는 항목일 경우 의미가 없다.
- 카디널리티(Cardinality): 중복정도
ex) 성별: 카디널리티가 낮다.
이름: 카디널리티가 높다.
실습
1. 성적순으로 학생의 이름을 검색한다.
SELECT sno, sname, avr
FROM student
ORDER BY avr DESC;
2. 학과별 성적순으로 학생의 정보를 검색한다.
SELECT sno, sname, major, avr
FROM student
ORDER BY major, avr DESC;
3. 학년별 성적순으로 학생의 정보를 검색한다.
SELECT sno, sname, syear, avr
FROM student
ORDER BY syear, avr DESC;
4. 학과별 학년별로 학생의 정보를 성적순으로 검색한다.
SELECT sno, sname, syear, major, avr
FROM student
ORDER BY major, syear, avr DESC;
5. 학점 순으로 과목 이름을 검색한다.
SELECT cno, cname, st_num
FROM course
ORDER BY st_num DESC;
6. 각 학과별로 교수의 정보를 검색한다.
SELECT pno, pname, section
FROM professor
ORDER BY section;
7. 지위별로 교수의 정보를 검색한다.
SELECT pno, pname, orders
FROM professor
ORDER BY orders;
8. 각 학과별로 교수의 정보를 부임일자 순으로 검색한다.
SELECT pno, pname, section, hiredate
FROM professor
ORDER BY section, hiredate;
9. 급여가 10% 인상된 경우 부서별로 각 사원의 연봉을 연봉순으로 검색한다.
SELECT eno, ename, sal*1.1*12+NVL(comm,0) 연봉, dno
FROM emp
ORDER BY dno, 연봉 DESC;
10. 보너스가 100% 인상된 경우 업무별로 각 사원의 연봉을 연봉순으로 검색한다.
SELECT eno, ename, job, sal*12+NVL(comm*2,0) 연봉
FROM emp
ORDER BY job, 연봉 DESC;
2024.01.24 - [SQL] - SQL select - 실습1
SQL select - 실습1
실습 테이블 테이블 내용 테이블 내용 emp dept salgrade 사원 부서 급여등급 student professor course score scgrade 학생 교수 과목 기말고사점수 점수등급 테이블 상세 구조 emp(사원) dept(부서) salgrade(급여등
backendmaster.tistory.com
<테이블 정보>
'SQL' 카테고리의 다른 글
SQL select - 실습6 (1) | 2024.01.29 |
---|---|
SQL select - 실습5 (1) | 2024.01.29 |
SQL select - 실습3 (1) | 2024.01.29 |
SQL select - 실습2 (1) | 2024.01.25 |
SQL select - 실습1 (0) | 2024.01.24 |