[DB/Oracle] 02. 의사컬럼

2021. 8. 28. 01:05

의사컬럼이란?

의사컬럼이란 테이블의 컬럼처럼 동작하지만 실제로 테이블에 저장되지는 않는 컬럼을 말한다. 

SELECT문에서는 사용할 수 있지만 INSERT, UPDATE, DELETE 할 수는 없다.


 

1. ROWNUM

ROWNUM은 쿼리에서 반환되는 각 로우들에 대한 순서 값을 나타내는 의사컬럼이다.

 

[입력]

SELECT ROWNUM, employee_id
FROM employees;

 

[출력]

 

ROWNUM EMPLOYEE_ID
1 100
2 101
3 102

 


 

2. ROWID

테이블에 데이터가 많으면 SELECT만 해도 결과가 나올 때까지 시간이 많이 소요된다.

이 떄 ROWNUM을 사용해서 특정 범위만 추출한다면 시간을 절약할 수 있다.

 

ROWID는 테이블에 저장된 각 로우가 저장된 주소 값을 가리키는 의사컬럼이다. 각 로우를 식별하는 값이므로 ROWID는 유일한 값을 가진다.

 

[입력]

SELECT ROWNUM, employee_id, ROWID
FROM employees
WHERE ROWNUM < 5;

 

[출력]

 

ROWNUM EMPLOYEE_ID ROWID
1 100 AAASNVAAGAAAACDAAJ
2 101 AAASNVAAGAAAACDAAK
3 102 AAASNVAAGAAAACDAAL
4 103 AAASNVAAGAAAACDAAM

 

BELATED ARTICLES

more