Я выполнял этот запрос к базе данных sakila на MySQL 8.0.17
:
select * from film _1 where (
exists (
select * from film_actor where (
select * from (
select film_id=_1.film_id and actor_id=1
) _2
)
)
);
Это дает 0
результатов. Но если я запущу это:
select * from film _1 where (
exists (
select * from film_actor where (
select film_id=_1.film_id and actor_id=1
)
)
);
Я получил 19
результаты, которые ожидаются.
В основном я обернул условие where
с select * from
и неожиданно получил неправильный результат.
Насколько я понимаю, завершение любого табличного значения с select * from
должно дать идентичный результат.
Я создал эту скрипку .