по стандарту: должно ли вернуть те строки, которые в T2 есть, но в них some_column is null?
нет
Left join с латералами не используют, так не задумано. Либо outer apply в стиле ansi, либо в нативном оракловом t1, lateral (select... from t2...) (+)
Однако иногда это работает как ожидается: https://sqlize.online/sql/oracle19hr/0c653e755a158ff6e059577983b7fed6/ на 11м и на 23м оракле возвращает две строки. на 19м — на одном патче так, на другом иначе. на постгресе — как ожидается (две строки).
Использовать смесь ansi и нативного синтаксиса - моветон, более того, насколько я помню даже нота есть, что их смешивать нельзя
а где здесь смесь? вроде сплошной ansi
Отключи xml оптимизацию. Скорее всего баг в xmltable rewrite xml
У тебя в вопросе был латерал, а в коде xmltable - это не одно и то же
и нативный синтаксис: https://sqlize.online/sql/oracle19hr/08830bf34d3b8f744255209a871b68dc/
Обсуждают сегодня