Even if/though it fetches them after it deletes them, it still fetches them as of
their contents before they were deleted. Oracle picks a moment in time for
the select query and all rows are selected with what their contents where at
that time.
A separate query running just after the commit will show all the rows deleted.