Day26

Jaho·2021년 9월 26일
0

Playdata

목록 보기
23/29

Day26

1.툴을 설치 하고 계정을 확인 해 보자.

2.서브쿼리 학습을 해보자.

3.기타등등 해보자.

ROWNUM 특징

1.where 조건 절이 실행되면서 순차 적으로 할당
2.할당된 후에는 변경되지 않는다.
3.where 절이 수행되면서 조건을 만족시키는 행에 rownum을 할당한 결과로
1차 ResultSet을 생성한다.

ROWNUM 사용 (순번 체크 할 때 사용)

1.ROWNUM 특정 값으로 사용은 불가능
2.where 절이 모두 수행되어야 rownum이 할당된다.
(특정 rownum이 할당되기 이전 이므로 실행은 되지만 원하는 결과를 만들 수 없다.)
3.ResultSet의 1st행(rownum=1)은 선택적으로 가능하다.(명시할 수 있다.)
4.순번을 사용할 때 ROWNUM이 할당되기 전에 미리 정렬을 해야 하며 미리 정렬된 결과를 가지고 있도록 하기 위해서 인라인 뷰를 사용한다. (1~3의 특징이 있기 때문이다.)

오라클 디벨로퍼(ORACLE SQL Developer) 다운


컴퓨터 운영체제에 맞는것으로 다운을 받는다.


1.Oracle접속 클릭
2.새로만들기
3.이름설정
4.계정 아이디,비밀번호입력
5.비밀번호 저장
6.테스트 클릭
7.상태 성공 -> 접속


세부정보 확인 후 저장


문제

Q1. EMP 사원 테이블에서 급여를 1~3 위 까지만 출력 해보자. = CASE 1

SELECT ROWNUM , ENAME, SAL
FROM (SELECT ENAME,SAL
FROM EMP
ORDER BY SAL DESC)
WHERE ROWNUM <= 3;

Q2.EMP 사원 테이블에서 급여를 1~3 위 까지만 출력 해보자. = CASE 2


SELECT EMPNO,ENAME,SAL
FROM EMP E1
WHERE(SELECT COUNT(1) = COUNT () 안에 들어가는 숫자는 TRUE로인식
FROM EMP E2
WHERE E1.SAL < E2.SAL)< 3
ORDER BY 3 DESC;

Q3.SELECT ROW_NUMBER() OVER (ORDER BY SAL DESC)RNO,SAL FROM EMP;
SELECT ROW_NUMBER() OVVER (정렬조건) => ROWNUM과 동일하다. 중간 추출 순위사용

사원테이블 에서 4등에서 7등까지 순위를 추출하자.

 SELECT RNO, ENAME, SAL
 FROM (SELECT ROW_NUMBER() OVER (ORDER BY SAL DESC) RNO, SAL FROM EMP)
 WHERE RNO BETWEEN 4 AND 7
 ORDER BY SAL DESC;
profile
개발 옹알이 부터

0개의 댓글