Я бью стену, как это интерпретировать:
select * from (
select '123' id1 from dual
) src
where src.id1 not in (select id1 from table1)
;
Не дает мне строк
select * from (
select '123' id1 from dual
) src
where src.id1 in (select id1 from table1)
;
Также не дает мне строк.
Как этоэто возможно в обоих случаях?
Где не существует, с другой стороны, работает как задумано.Таблица1 не пуста.И на самом деле, да - table1 имеет как нулевые, так и ненулевые значения.Почему это делает противоположные условия оба неправильными?
РЕДАКТИРОВАТЬ: не полный дубликат, поскольку перечисленный аналогичный вопрос был, почему результаты отличаются, а здесь - почему результаты одинаковы при противоположном условии- что может сбивать с толку.