There’s actually a lot of subtleties to nested loops. When they’re explained, they’re most commonly represented in the following fashion:
for all records in table_a
for all records in table_b
if a and b match
But! That’s clearly overly simplified.
For example, if the Oracle code looked like that, then join order clearly wouldn’t matter for nested loops if both tables were being full scanned. But, as you’ll see shortly, join order matters a lot!