반응형
rownum
- 고정된 값이 아닌 select되는 값에 따라서 동적으로 부여되는 번호
- 위의 순서대로 진행됨
작동방식
- where절이 실행될 때 조건에 맞으면 1을 부여하고, 맞지 않으면 번호를 부여하지않고 버림
- select문이 실행되면서 번호가 부여됨
→ 따라서 rownum은 where절이 실행될때 존재하는 컬럼이 아니므로 rownum=1 외에 숫자 지정은 할 수 없음
rownum을 이용해서 4번~6번 데이터 조회하기
select uname, hakno, address, rownum
from tb_student
where rnum between 4 and 6
order by uname;
위의 방식대로 데이터를 추출하면 아무런 값이 추출되지 않음
- rownum은 고정된 값이 아닌 select되는 값에 따라서 동적으로 부여되는 번호이기 때문에 order by로 정렬됨으로써 순서가 뒤죽박죽됨
- 1번을 만족시켜서 정렬을 잘 시켰다고 해도 where절의 조건이 rownum을 1부터 지정하지 않고 4부터 지정했기 때문에 조건이 충족되지 않아 아무런값도 출력되지 않음
[조회방법]
select *
from (select A.*, rownum as rnum
from (select uname, hakno, address
from tb_student
order by uname) A) B
where rnum between 4 and 6;
- order by 이용하여 원하는 데이터의 가상 테이블을 만듦 - A
- A테이블에 rownum을 넣어서 순서를 붙힘 - B
- rownum이 고정된 B테이블에 where절을 사용하여 원하는 값을 도출 - (rownum의 번호 4번~6번 출력)
- 코드가 복잡해지므로 Alias(별칭)와 AS는 되도록 사용해주는것이 좋음
CSV 파일
- Comma-Separated Values
- 스프레드시트의 파일 형식 (쉼표(,)로 값이 구분됨을 의미)
oracle diveloper에서 csv파일 import 방법
반응형
'Back-End > Database' 카테고리의 다른 글
SQL 예제(3) (0) | 2023.03.03 |
---|---|
Oracle SQL(4) (0) | 2023.03.02 |
SQL 예제(2) (0) | 2023.02.28 |
댓글