Initially I was inteneded to post this link for you and thought again, shooting the right answer for question... This might be the link for you to start with.
http://otn.oracle.com/docs/products/...13_exp.htm#838

Never ending topic its going to be if we start on the optimizer behaviour... different from version to version,patch to patch and specific to QUERY... I would advise you to spend some time on this topic.