优化一个SQL语句200分
优化这个SQL语句 
 select   a.post_code,   a.inst_code,   a.post_name,   to_char(b.change_date,    'YYYY-MM-DD ')   as   change_date 
       from   t_hr_b_post   b,   t_mgt_post   a 
    where   confirmflag   =    '00590002 '   and   a.post_code   =   b.post_code   and    
          exists(select   1 
                                     from   (select   max(emp_post_id)   as   emp_post_id 
                                                             from   t_hr_b_post   a 
                                                          where   confirmflag   =    '00590002 '   and 
                                                                exists(select   1 
                                                                                           from   (select   emp_id,   min(nvl(post_on_type,    '0068002 '))   post_on_type 
                                                                                                                   from   t_hr_b_post 
                                                                                                                where   confirmflag   =    '00590002 ' 
                                                                                                             group   by   emp_id 
                                                                                                          )b 
                                                                                        where   a.emp_id   =   b.emp_id   and   nvl(a.post_on_type,    '0068002 ')   =   b.post_on_type 
                                                                                  ) 
                                                    group   by   emp_id 
                                                 )   c    
                               where