웹개발 교육/Database

[24일] Databese (10) - 모조 칼럼

2022. 8. 29. 11:58
목차
  1. rownum 행 번호
  2. rowid 행의 주소 값
  3. 줄번호에 별칭 부여하기
  4. rownum 특징
  5. 활용
  6. rownum을 활용한 페이징

Oracle DMBS에서 제공해준다.

 

rownum 행 번호

select uname, address, rownum from tb_student;

   

rowid 행의 주소 값

select uname, address, rowid from tb_student;

 

줄번호에 별칭 부여하기

select hakno, uname, rownum as rnum from tb_student;

 

 

rownum 특징

--줄번호가 먼저 부여되고 정렬된다
select hakno, uname, rownum as rnum from tb_student order by uname;

 

활용

--줄번호 1~3 사이 조회
select hakno, uname, rownum from tb_student where rownum>=1 and rownum<=3;

 

--줄번호 4~6 사이 조회 (조회 불가)
select hakno, uname, rownum from tb_student where rownum>=4 and rownum<=6;

줄번호 1~3 사이는 조회가 가능한 반면, 4~6 사이는 조회가 불가능하다.

 

 

rownum을 활용한 페이징

  • rownum은 모조 칼럼이므로 조건절에 직접 사용하지 말고, 실제 칼럼으로 인식 후 사용할 것을 추천
  • rownum칼럼은 셀프 조인 후에 줄 번호 추가하고 조건절에 활용한다
문) 줄 번호(rownum)을 이용해서 줄 번호 4~6 조회
-- 1) 이름 순으로 조회 (줄 번호까지 같이 정렬)
select uname, hakno, address, rownum
from tb_student
order by uname;

 

이름 순으로 조회한 결과에 순서대로 번호를 부여하려면 다음과 그림과 같이 해야 한다.

먼저, 이름 순으로 정렬한 뒤 그것을 조인하여 rownum을 부여하면 된다.

-- 2) 1)의 결과를 셀프 조인하고 줄 번호를 추가
select uname, hakno, address, rownum as rnum
from (
        select uname, hakno, address
        from tb_student
        order by uname
      ) AA;

-- 3) 2)의 결과를 BB테이블로 만들고, 줄 번호 4~6행 조회하시오
select uname, hakno, address, rnum
from (
        select uname, hakno, address, rownum as rnum
        from (
                select uname, hakno, address
                from tb_student
                order by uname
              ) AA
      ) BB
where rnum>=4 and rnum<=6;

-- 4) 3)의 결과에서 테이블 별칭 (AA, BB) 생략하기
select *
from (
        select uname, hakno, address, rownum as rnum
        from (
                select uname, hakno, address
                from tb_student
                order by uname
              )
      )
where rnum>=4 and rnum<=6;

 

'웹개발 교육 > Database' 카테고리의 다른 글

[24일] Database (12) - CSV파일 변환  (0) 2022.08.29
[24일] Database (11) - 종합연습문제  (0) 2022.08.29
[23일] Database (9) - 테이블 조인(left join, right join)  (0) 2022.08.26
[23일] Database (8) - 테이블 조인(inner join)  (0) 2022.08.26
[22일] Database (7) - 학사관리  (0) 2022.08.25
  1. rownum 행 번호
  2. rowid 행의 주소 값
  3. 줄번호에 별칭 부여하기
  4. rownum 특징
  5. 활용
  6. rownum을 활용한 페이징
'웹개발 교육/Database' 카테고리의 다른 글
  • [24일] Database (12) - CSV파일 변환
  • [24일] Database (11) - 종합연습문제
  • [23일] Database (9) - 테이블 조인(left join, right join)
  • [23일] Database (8) - 테이블 조인(inner join)
ewok
ewok
ewok
기록장
ewok
전체
오늘
어제
  • 분류 전체보기
    • 웹개발 교육
      • HTML
      • CSS
      • JavaScript
      • Database
      • Java
      • jQuery
      • Ajax
      • Bootstrap
      • jsp
      • Spring
      • MyBatis
      • 프로젝트
    • JAVA
    • SpringBoot
      • 기초
      • AWS
      • 개인프로젝트
    • Spring Security
    • JPA
    • 테스트코드
    • Error
    • CS
      • 컴퓨터 구조
      • 이산수학
    • 알고리즘
      • 정리
      • Java
    • SQL
    • 자격증
      • SQLD
      • 정보처리기사
    • Git

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • GIT
  • 버전 관리
  • merge commit
  • sqld 합격
  • this
  • git bash
  • org.springframework.beans.factory.UnsatisfiedDependencyException
  • SQLD
  • branch
  • sqld 자격증
  • 브랜치
  • base
  • 노랭이
  • org.hibernate.tool.schema.spi.CommandAcceptanceException
  • 생성자

최근 댓글

최근 글

hELLO · Designed By 정상우.
ewok
[24일] Databese (10) - 모조 칼럼
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.