• Here is my solution:

    SELECT
      am.antim_id AS antim_id, am.anitm_name AS antim_name
    FROM
      (SELECT
         antim_id, COUNT(dc.missile_id) AS num_missiles
       FROM
         (SELECT
            missile_id
          FROM
            (SELECT spcid FROM SPECIES WHERE (spcname = ?)) AS s
            INNER JOIN ALIEN_CAPABILITY AS ac ON ac.spcid = s.spcid
    
         )  AS sm1
         INNER JOIN DEFUSE_CAPABILITY AS dc ON dc.missile_id = sm1.missile_id
       GROUP BY
         antim_id
      ) as candidates
      INNER JOIN ANTI_MISSILE AS am ON am.antim_id = candidates.antim_id
    WHERE
      (candidates.num_missiles = 
        (SELECT COUNT(*) AS possible_missiles
         FROM
           (SELECT missile_id
            FROM
              (SELECT spcid FROM SPECIES WHERE (spcname = ?)) AS s
              INNER JOIN ALIEN_CAPABILITY AS ac ON ac.spcid = s.spcid
            ) AS sm2
        )
      )
    

    Regards,

    Goce.