2009. 12. 18. 09:49

A 라는 Table에..
Employee_id(사번), Start_date(발령일자)의 Column이 존재한다고 가정하고,
Employee_id 에는 INDEX_EMPLOYEE라는 INDEX가 걸려있다.

이 때, 전체 사원 중 최초 발령일자와, 최종 발령일자를 구한다면,
Index가 존재하지 않는다면, 아래와 같은 방법으로 밖에 구할 수 없을 듯 하나..

SELECT Min(Start_date) min_st_dt, Max(Start_date) max_st_dt
   FROM A

만약, Employee_id에 Index가 존재하는 경우라면,
아래와 같은 방법을 쓸 수도 있을 것이다.

SELECT /*+ INDEX_ASC(A INDEX_EMPLOYEE) */ start_date
    FROM a
  WHERE rownum = 1 ;

SELECT /*+ INDEX_DESC(A INDEX_EMPLOYEE) */ start_date
    FROM a
  WHERE rownum = 1 ;

Posted by 옹니미