Originally posted by majub
In the first case, the optimizer does a full table scan whereas in the second case it makes use of the bitmap index. If changing columns in "select" list affects the optimizer access path, what 's the point in using a bitmap index?
In your second case, optimizer can get the complete result set just by examining your bitmap index. Since only JOB is listed in the select list, it can obtain it from the bitmap index and there is no need to wisit table at all. So optimizer figured out that this is the cheapest method, so it went for it.

But in your first case you wanted also other columns in the result set. Optimizer could use bitmap index because of your WHERE clause, but then for each entry found in the index it should also wisit corresponding table blocks to get other columns from your select list. In this case optimizer figured it out that it is cheaper to simply perform a full table scan.