When Oracle reads from disk, he gets more than one database block at a time. Some of the blocks needed for the query may be read into the buffer cache. Oracle would then read those blocks from cache instead of performing a physical I/O.

If your db_block_buffers were really small (like = 1), you might be able to get it around 0.