본문 바로가기
SQL

SQL select - 실습4

by hj_it 2024. 1. 29.
정렬 검색
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