Using the ST_Disjoint operator in Oracle can return incorrect results when ST_Geometry shapes do not intersect (disjoint).
The ST_Disjoint operator first applies an envelope filter for optimization, when checking if the two input ST_Geometry shapes are disjoint or not.
Incorrect results are returned when the two envelopes of the input ST_Geometry shapes intersect (not disjoint). The ST_Disjoint operator immediately returns false results.
The ST_Disjoint operator should only return true results if the two input ST_Geometry shapes' envelopes are disjoint; however, when the envelopes do intersect and the features are disjoint, the two input shapes must be computationally compared to determine if they are disjoint or not.
If the two input ST_Geometry shapes are disjoint, the operator returns a value of 1 (true).