A-rows is the number of rows produced. The following example queries a table with 100 rows. There's no index, so it must inspect all the rows. But the plan shows the output of zero:
set serveroutput off
create table t as
select level c1 from dual
connect by level <= 100;
select /*+ gather_plan_statistics */* from t
where c1 < 1;
select *
from table(dbms_xplan.display_cursor(null, null, 'ROWSTATS LAST'));
PLAN_TABLE_OUTPUT
SQL_ID c5xs76mp35qvq, child number 0
-------------------------------------
select /*+ gather_plan_statistics */* from t where c1 < 1
Plan hash value: 2498539100
-------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows |
-------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 0 |
|* 1 | TABLE ACCESS FULL| T | 1 | 1 | 0 |
-------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("C1"<1)
The key point in the union example is the Starts are also zero. That means this operation never took place.