Помогите понять, почему ошибочный внутренний запрос не делает внешний запрос ошибочным
Следующий запрос возвращает 19
proc sql;
select count(distinct name)
from sashelp.class
where name in (select name from sashelp.iris
where species is not missing)
;quit; *returns 19;
Однако я ожидаю, что он вернет error , потому что внутренний запрос действительно возвращает ошибку (потому что столбец 'name' не найден в sashelp.iris):
proc sql;
select name from sashelp.iris
where species is not missing
;quit; *returns an error (column not found);
Кто-нибудь может объяснить логику, почему я не получаю сообщение об ошибке в первом случае?