The behavior is explained in this question .
But you also asked: βIs it possible to change this default behavior? (By running the same request, but getting an error instead of all the lines)β and expanded on this in the comment with βI want to force a failure for the same request, and not change the request, to get the desired result. "
No, changing behavior is not possible. He does what the documentation says he should do:
Oracle allows unqualified columns in a subquery by looking at the tables named in the subquery and then in the tables specified in the parent expression.
You cannot force it to stop looking at the parent statement and resolve an unqualified alias inside the subquery. You will need to modify the request to make it a mistake. There is no reason not to qualify your identifiers and many reasons why you should, including the fact that this may prevent you from masking errors in your code.
source share