기타/Oracle

Oracle veiw, index 생성

공부하는리아 2020. 11. 27. 17:07

복잡한 질의 일수록 그 길이가 길어진다.

하지만 veiw를 만들면 그 veiw에서 쉽게 값을 출력 할 수 있다.

view는 물리적으로 존재하지 않는 테이블이다

SELECT ORDERS.ORDERID 주문번호, 
		CUSTOMER.NAME 주문고객, 
		BOOK.BOOKNAME 주문도서,
		BOOK.PRICE 도사정가,
		ORDERS.SALEPRICE 구입가격,
		ORDERS.ORDERDATE 주문일자, 
		BOOK.PRICE - ORDERS.SALEPRICE 할인가
FROM BOOK, CUSTOMER, ORDERS
WHERE ORDERS.BOOKID = BOOK.BOOKID
AND CUSTOMER.CUSTID = ORDERS.CUSTID;

위와 같은 질의를 이용해 뷰를 만들어 보자.

*연산이 있을 경우엔 꼭 구별 값을 (ex 할인가) 붙여주어야 에러가 안난다.

 

 

위 질의는 이렇게 축약될 수 있다

SELECT * from 뷰이름;

 

뷰 쿼리를 불러와 vo.값을 찍을 경우 구별값을 꼭 맞춰준다.

vo.setDiscount(rs.getInt("할인가"));

그렇지 않으면 에러가 뜬다.

 

index는 select 했을 때 순서를 무엇을 기준으로 출력할지 설정해주는 것이다

여러모로 유용할 것 같다.