正解は ウ
SQLのIN句は「○ OR ○ OR ○」と等価です。WHERE 仕入先ID IN ('M002', 'M004') は「仕入先IDがM002またはM004の行」を選択します。これはWHERE 仕入先ID = 'M002' OR 仕入先ID = 'M004' と完全に同じ結果を返します。INはORの短縮表記と覚えておくと試験で迷わずに済みます。ANDは両条件が同時に成立する行を選ぶため、1行が同時にM002かつM004になることはなく結果が0件になります。BETWEENは範囲指定であり、M002とM004の間にM003が含まれてしまいます(文字列比較)。INTERSECTは和ではなく積(共通部分)を求めるため、両サブクエリの共通行のみを返します。
SQL: IN(リスト列挙)≡ OR(複数のOR条件)。IN ('A','B') = WHERE col='A' OR col='B'。ANDは積(同時成立)、BETWEENは連続範囲、INTERSECTは積集合。「IN=OR」を公式として覚えましょう。