SQL기초강좌
ROWNUM
ROWNUM
ROWNUM은 의사 칼럼으로 참조만 될 뿐 데이터베이스에 저장되지 않는다.
(DESC 명령으로 보이지 않는 의사 칼럼).
SELECT절에 의해 추출되는 데이터(ROW)에 붙는 순번이다.
다시 말해 WHERE절까지 만족 시킨 자료에 1부터 붙는 순번이다.
WHERE절에 ROWNUM을 이용하여 조건을 주면 다른 조건을 만족시킨 결과
에 대해 조건이 반영된다.
SELECT 리스트에 ROWNUM을 이용하는 것도 물론 가능하다.
ORDER BY를 사용한다면 WHERE절까지 만족 시킨 결과에 ROWNUM이 붙은
상태로 ORDER BY가 반영된다.
즉 ROWNUM은 ORDER BY전에 부여되며, ORDER BY는 맨 나중에 실행된다.
SQL기초강좌_ROWNUM
ROWNUM
- ROWNUM을 변경하기 위해 DML을 사용할 수 없다.
- 주로 <, <= 사용하며 >, >= 인 경우 ROWNUM은 동작하지 않는다.
- ROWNUM = 1은 사용 가능 하지만 ROWNUM=2 인 경우는
데이터가 추출되지 않는다. (ROWNUM은 WHERE절을 만족하는 레코드에
붙이는 순번이므로 해석해 보면, 처음 한 건 추출해서 ROWNUM이 2인지
비교한다.
처음 레코드는 ROWNUM이 1, 조건에 맞지 않으므로 버리고 다른 다음 레
코드 선택 후 또 ROWNUM이 2인지 비교하지만 역시 새로 추출되는 레코드
는 ROWNUM이 1이므로 버리고 새로운 레코드를 추출한다, 이 과정을 반복
해 보면 ROWNUM = 2는 도달할 수 없는 값이 됨을 알 수 있다.)
SQL기초강좌_ROWNUM
SQL> select rownum, empno, ename from emp;
ROWNUM EMPNO ENAME
---------- ---------- --------------------
1 7369 SMITH
2 7499 ALLEN
3 7521 WARD
……
14 개의 행이 선택되었습니다.
ROWNUM
SQL기초강좌_ROWNUM
-- 4건만 SEELCT
SQL> select rownum, empno, ename from emp where rownum < 5;
ROWNUM EMPNO ENAME
---------- ---------- --------------------
1 7369 SMITH
2 7499 ALLEN
3 7521 WARD
4 7566 JONES
ROWNUM
SQL기초강좌_ROWNUM
-- 4건만 SELECT, ROWNUM을 먼저 부여 후 ename으로 정렬하니
ROWNUM이 깨진다.
--ORDER BY는 ORDER BY를 제외한 쿼리를 먼저 실행 후 그 결과에 대해 정
렬하므로 ROWNUM이 ENAME기준으로 정렬되게 되어 순차적으로 부여되지
않는다.
SQL> select rownum, empno, ename from emp where rownum < 5
order by ename;
ROWNUM EMPNO ENAME
------------ ----------- --------------
2 7499 ALLEN
4 7566 JONES
1 7369 SMITH
3 7521 WARD
ROWNUM
SQL기초강좌_ROWNUM
SQL> select rownum, empno, ename from emp;
ROWNUM EMPNO ENAME
------------ ---------- -------------
1 7369 SMITH
2 7499 ALLEN
3 7521 WARD
……
14 개의 행이 선택되었습니다.
ROWNUM
SQL기초강좌_ROWNUM
SQL> select rownum, empno, ename from emp where rownum = 1;
ROWNUM EMPNO ENAME
------------ ---------- -------------
1 7369 SMITH
ROWNUM
SQL기초강좌_ROWNUM
-- ROWNUM=2인 경우 선택되는 로우(행)가 없다.
SQL> select rownum, empno, ename from emp where rownum = 2;
선택된 레코드가 없습니다.
ROWNUM
SQL기초강좌_ROWNUM
-- WHERE절에 ROWNUM 조건 외에는 없으므로 모든 데이터가 조건을 만족
하게 되고, 최초 한건을 읽으면 ROWNUM이 1이되어 ROWNUM = 2 조건에
만족하지 않으므로 버리고, 다음 레코드를 또 읽어 ROWNUM을 부여하는데
이전에 읽은 데이터는 조건에 맞지 않아 버렸으므로 다시 ROWNUM이 1이되
어 ROWNUM = 2 조건에 맞지않아 데이터를 버리고 다음 레코드를 읽게 된
다. 이런식으로 하다보면 결국 ROWNUM = 2 조건을 만족하는 데이터는 없게
된다.

More Related Content

PDF
오라클강의/자바강의/닷넷강의/자마린교육/아두이노교육학원추천_#13.SQL초보에서 Schema Objects까지
PDF
#12.SQL초보에서 schema Objects까지(구로IT학원/IT실무교육학원/국비지원IT교육학원/오라클교육/자바교육/닷넷교육학원추천)
PDF
IT실무교육학원/자바학원/오라클학원/SQL기초학원추천_#11.SQL초보에서 Schema Objects까지
PDF
#17.SQL초보에서 Schema Objects까지_오라클교육/SQL기초교육/구로IT학원/구로디짙털단지역
오라클강의/자바강의/닷넷강의/자마린교육/아두이노교육학원추천_#13.SQL초보에서 Schema Objects까지
#12.SQL초보에서 schema Objects까지(구로IT학원/IT실무교육학원/국비지원IT교육학원/오라클교육/자바교육/닷넷교육학원추천)
IT실무교육학원/자바학원/오라클학원/SQL기초학원추천_#11.SQL초보에서 Schema Objects까지
#17.SQL초보에서 Schema Objects까지_오라클교육/SQL기초교육/구로IT학원/구로디짙털단지역

What's hot (20)

PDF
#15.SQL초보에서 Schema Objects까지_국비지원IT학원/구로IT학원/실무교육학원/SQL교육/오라클교육
PDF
[오라클교육/닷넷교육/자바교육/SQL기초/스프링학원/국비지원학원/자마린교육]#16.SQL초보에서 Schema Objects까지
PDF
#6.SQL초보에서 Schema Objects까지_구로IT학원/오라클교육/자바교육/국비지원/재직자환급교육/내일배움카드/사업주위탁
PDF
[오라클교육/SQL교육/IT교육/실무중심교육학원추천_탑크리에듀]#4.SQL초보에서 Schema Objectes까지
PPTX
(오라클힌트/SQL튜닝 강좌)쿼리튜닝을 위한 오라클의 10053 이벤트
PPTX
Sql기초강좌2_SET AUTOTRACE_SQL교육
PPTX
(오라클SQL기초강좌)상관 서브쿼리(Correlated Sub Query)
PPTX
(쿼리 변환, Query Transformation,서브쿼리푸시,SubQuery Pushing)SQL튜닝을 위해 서브쿼리의 드라이빙을 제어...
PPTX
(SQL초보자를 위한, 쿼리최적화 for SQL튜닝)SQL쿼리작성Tip,최적화팁,최적화된SQL작성방법교육
PDF
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
PDF
암달의 법칙과 쿼리튜닝 기초
PPTX
(오라클힌트,SQL튜닝강좌#25)오라클WITH구문,서브쿼리 팩토링
PPTX
(오라클,SQL기초강좌)서브쿼리에서 사용되는 Any(SOME), ALL, EXISTS 연산자 이론 및 실습예문_오라클강좌,SQL,PLSQL...
PPTX
Sql 조건연산자를 이용한 조건검색(1)
PPTX
Sql 조건연산자를 이용한 조건검색(2)
PDF
(재직자환급교육/사업주위탁/IT실무교육/구로IT학원/오라클교육/SQL기초강좌/IT강좌)#10.SQL초보에서 Schema Objects까지
PDF
#1.SQL초보에서 Schema Objects까지(SQL학원/오라클학원/IT실무교육학원/재직자/실업자교육학원추천)
#15.SQL초보에서 Schema Objects까지_국비지원IT학원/구로IT학원/실무교육학원/SQL교육/오라클교육
[오라클교육/닷넷교육/자바교육/SQL기초/스프링학원/국비지원학원/자마린교육]#16.SQL초보에서 Schema Objects까지
#6.SQL초보에서 Schema Objects까지_구로IT학원/오라클교육/자바교육/국비지원/재직자환급교육/내일배움카드/사업주위탁
[오라클교육/SQL교육/IT교육/실무중심교육학원추천_탑크리에듀]#4.SQL초보에서 Schema Objectes까지
(오라클힌트/SQL튜닝 강좌)쿼리튜닝을 위한 오라클의 10053 이벤트
Sql기초강좌2_SET AUTOTRACE_SQL교육
(오라클SQL기초강좌)상관 서브쿼리(Correlated Sub Query)
(쿼리 변환, Query Transformation,서브쿼리푸시,SubQuery Pushing)SQL튜닝을 위해 서브쿼리의 드라이빙을 제어...
(SQL초보자를 위한, 쿼리최적화 for SQL튜닝)SQL쿼리작성Tip,최적화팁,최적화된SQL작성방법교육
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
암달의 법칙과 쿼리튜닝 기초
(오라클힌트,SQL튜닝강좌#25)오라클WITH구문,서브쿼리 팩토링
(오라클,SQL기초강좌)서브쿼리에서 사용되는 Any(SOME), ALL, EXISTS 연산자 이론 및 실습예문_오라클강좌,SQL,PLSQL...
Sql 조건연산자를 이용한 조건검색(1)
Sql 조건연산자를 이용한 조건검색(2)
(재직자환급교육/사업주위탁/IT실무교육/구로IT학원/오라클교육/SQL기초강좌/IT강좌)#10.SQL초보에서 Schema Objects까지
#1.SQL초보에서 Schema Objects까지(SQL학원/오라클학원/IT실무교육학원/재직자/실업자교육학원추천)
Ad

Similar to Rownum (20)

PPTX
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
PDF
제2장 데이터 조회하기
PDF
토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 2
PDF
WINDOW FUNCTION의 이해와 활용방법_Wh oracle
PPTX
101102 endofdb select.1_rdbms
PPTX
효율적인Sql작성방법 2주차
PPTX
181215 MS SQL로 알아보는 데이터베이스
PPT
6.테이블만들기
PPTX
파이썬 sqlite 이해하기
PDF
데이터베이스 시스템 chapter4_STG박하은
PPTX
효율적인Sql작성방법 4주차
PDF
일주일만에 끝내는 MySQL
PPTX
05주차 dml- 자료 관리
PDF
#23.SQL초보에서 Schema Objects까지_SQL기초교육/오라클교육/국비지원환급교육/재직자교육/구로IT학원추천
5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)
제2장 데이터 조회하기
토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 2
WINDOW FUNCTION의 이해와 활용방법_Wh oracle
101102 endofdb select.1_rdbms
효율적인Sql작성방법 2주차
181215 MS SQL로 알아보는 데이터베이스
6.테이블만들기
파이썬 sqlite 이해하기
데이터베이스 시스템 chapter4_STG박하은
효율적인Sql작성방법 4주차
일주일만에 끝내는 MySQL
05주차 dml- 자료 관리
#23.SQL초보에서 Schema Objects까지_SQL기초교육/오라클교육/국비지원환급교육/재직자교육/구로IT학원추천
Ad

More from 탑크리에듀(구로디지털단지역3번출구 2분거리) (20)

PDF
자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)
PDF
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
PDF
자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러
PPTX
[IT교육/IT학원]Develope를 위한 IT실무교육
PPTX
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
PPTX
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
PPTX
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
PPTX
[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)
PPTX
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
PDF
(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...
PDF
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
PPTX
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
PPTX
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
PPTX
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
PDF
(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌
PPTX
C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...
PPTX
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
PPTX
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
PPTX
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
PPTX
2. xamarin.android 2.5.3 xamarin.android .aar binding(안드로이드 .aar file을 자마린 바...
자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러
[IT교육/IT학원]Develope를 위한 IT실무교육
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌
C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
2. xamarin.android 2.5.3 xamarin.android .aar binding(안드로이드 .aar file을 자마린 바...

Rownum

  • 2. ROWNUM ROWNUM은 의사 칼럼으로 참조만 될 뿐 데이터베이스에 저장되지 않는다. (DESC 명령으로 보이지 않는 의사 칼럼). SELECT절에 의해 추출되는 데이터(ROW)에 붙는 순번이다. 다시 말해 WHERE절까지 만족 시킨 자료에 1부터 붙는 순번이다. WHERE절에 ROWNUM을 이용하여 조건을 주면 다른 조건을 만족시킨 결과 에 대해 조건이 반영된다. SELECT 리스트에 ROWNUM을 이용하는 것도 물론 가능하다. ORDER BY를 사용한다면 WHERE절까지 만족 시킨 결과에 ROWNUM이 붙은 상태로 ORDER BY가 반영된다. 즉 ROWNUM은 ORDER BY전에 부여되며, ORDER BY는 맨 나중에 실행된다. SQL기초강좌_ROWNUM
  • 3. ROWNUM - ROWNUM을 변경하기 위해 DML을 사용할 수 없다. - 주로 <, <= 사용하며 >, >= 인 경우 ROWNUM은 동작하지 않는다. - ROWNUM = 1은 사용 가능 하지만 ROWNUM=2 인 경우는 데이터가 추출되지 않는다. (ROWNUM은 WHERE절을 만족하는 레코드에 붙이는 순번이므로 해석해 보면, 처음 한 건 추출해서 ROWNUM이 2인지 비교한다. 처음 레코드는 ROWNUM이 1, 조건에 맞지 않으므로 버리고 다른 다음 레 코드 선택 후 또 ROWNUM이 2인지 비교하지만 역시 새로 추출되는 레코드 는 ROWNUM이 1이므로 버리고 새로운 레코드를 추출한다, 이 과정을 반복 해 보면 ROWNUM = 2는 도달할 수 없는 값이 됨을 알 수 있다.) SQL기초강좌_ROWNUM
  • 4. SQL> select rownum, empno, ename from emp; ROWNUM EMPNO ENAME ---------- ---------- -------------------- 1 7369 SMITH 2 7499 ALLEN 3 7521 WARD …… 14 개의 행이 선택되었습니다. ROWNUM SQL기초강좌_ROWNUM
  • 5. -- 4건만 SEELCT SQL> select rownum, empno, ename from emp where rownum < 5; ROWNUM EMPNO ENAME ---------- ---------- -------------------- 1 7369 SMITH 2 7499 ALLEN 3 7521 WARD 4 7566 JONES ROWNUM SQL기초강좌_ROWNUM
  • 6. -- 4건만 SELECT, ROWNUM을 먼저 부여 후 ename으로 정렬하니 ROWNUM이 깨진다. --ORDER BY는 ORDER BY를 제외한 쿼리를 먼저 실행 후 그 결과에 대해 정 렬하므로 ROWNUM이 ENAME기준으로 정렬되게 되어 순차적으로 부여되지 않는다. SQL> select rownum, empno, ename from emp where rownum < 5 order by ename; ROWNUM EMPNO ENAME ------------ ----------- -------------- 2 7499 ALLEN 4 7566 JONES 1 7369 SMITH 3 7521 WARD ROWNUM SQL기초강좌_ROWNUM
  • 7. SQL> select rownum, empno, ename from emp; ROWNUM EMPNO ENAME ------------ ---------- ------------- 1 7369 SMITH 2 7499 ALLEN 3 7521 WARD …… 14 개의 행이 선택되었습니다. ROWNUM SQL기초강좌_ROWNUM
  • 8. SQL> select rownum, empno, ename from emp where rownum = 1; ROWNUM EMPNO ENAME ------------ ---------- ------------- 1 7369 SMITH ROWNUM SQL기초강좌_ROWNUM -- ROWNUM=2인 경우 선택되는 로우(행)가 없다.
  • 9. SQL> select rownum, empno, ename from emp where rownum = 2; 선택된 레코드가 없습니다. ROWNUM SQL기초강좌_ROWNUM -- WHERE절에 ROWNUM 조건 외에는 없으므로 모든 데이터가 조건을 만족 하게 되고, 최초 한건을 읽으면 ROWNUM이 1이되어 ROWNUM = 2 조건에 만족하지 않으므로 버리고, 다음 레코드를 또 읽어 ROWNUM을 부여하는데 이전에 읽은 데이터는 조건에 맞지 않아 버렸으므로 다시 ROWNUM이 1이되 어 ROWNUM = 2 조건에 맞지않아 데이터를 버리고 다음 레코드를 읽게 된 다. 이런식으로 하다보면 결국 ROWNUM = 2 조건을 만족하는 데이터는 없게 된다.