Nie zakwalifikowałeś nazw swoich kolumn. Myślisz, że biegniesz:
SELECT a.*
FROM aircraft a
WHERE a.airc_manufact IN (SELECT f.airc_manufact FROM flight f);
Jeśli f.airc_manufact
nie istnieje, to zasady określania zakresu mówią, aby szukać w zewnętrznym zapytaniu. Tak więc naprawdę działasz:
SELECT a.*
FROM aircraft a
WHERE a.airc_manufact IN (SELECT a.airc_manufact FROM flight f);
To jest całkiem bezużyteczne jako klauzula filtrująca.
Morał:Zawsze zakwalifikować nazwy kolumn w zapytaniu, szczególnie jeśli zapytanie odnosi się do więcej niż jednej tabeli.