Oh! JUN
ORACLE 순차적 레코드 출력 실습 본문
rownum 행에 일렬번호를 붙여준다.
rownum < 3 이하인 행만 검색 하니까 1,2 검색된다.
※ 주의
select rownum, username from all_users where rownum = 3;
쿼리를 입력하면 rownum값이 3인 행만 검색되지 않을까?
- 검색되지 않는다.
쿼리문의 실행순서는
(1) from all_users
(2) where rownum <3
(3) select rownum, username
all_users 테이블에는 rownum이 아직 없으니까 where rownum = 3은 실행되지 않는다.
그래서 이를 서브 쿼리를 사용해서 작성할 것이다.
쿼리를 이렇게 작성하면 실행순서는
(1) from (select rownum r, username from all_users)tb
(2) where tb.r=2
(3) select username
from (select rownum r, username from all_users)tb | all_users 테이블에서 rownum, username 조회 |
where tb.r=2 | 조회된 테이블에서 rownum이 2인 값만 조회 |
select username | rownum이 2인 값중에서 username만조회 |
※ rownum r : rownum을 r로 치환
※ (select rownum r, username from all_users)tb : ()문을 tb로 치환
'웹 해킹 > SQL Injection' 카테고리의 다른 글
ORACLE 메타데이터 목록화 (0) | 2022.08.17 |
---|---|
MYSQL 메타데이터 목록화 (0) | 2022.08.16 |
MYSQL 순차적 레코드 출력 실습 (0) | 2022.08.12 |
데이터 조회 공격(환경 분석 실습) (0) | 2022.08.12 |
인증 우회 공격을 통한 타 사용자 게시글 무단 수정, 삭제 실습 (0) | 2022.08.10 |