1. min(rowid) returns the first rowid for each empno. You could replace this with max if you want.
The point is you want just one row for each empno. For example if you have:
EMPNO Rowid
1 AAAAA
1 AAAAB
2 AAAAC
3 AAAAD
3 AAAAE
You want to remove one of the rows for empnos 1 and 3. Taking the min, grouped by empno gives you:
Rowid
AAAAA
AAAAC
AAAAD
The delete then removes rowids that aren't in this list (AAAAB & AAAAE). If you took the max, it would be rows AAAAA and AAAAD you removed instead.
For further discussion, see
https://blogs.oracle.com/sql/entry/how_to_find_and_delete 2. I don't understand. What are "oracle DBA real time scenarios"?