表副問合せは複数の行を返す副問合せです。
FROM 節の表式にて使われた場合、複数の列を返すことができます。
EXISTSでは、*を使う場合のみ複数の列を返すことができます。
INや限定条件では、単列のみ返すことができます。
(問合せ)
-- FROM節の表式として、副問合せを使う。 SELECT VirtualFlightTable.flight_ID FROM (SELECT flight_ID, orig_airport, dest_airport FROM Flights WHERE (orig_airport = 'SFO' OR dest_airport = 'SCL') ) AS VirtualFlightTable -- FROM節の表式として、副問合せ(values式)を使う。 SELECT mycol1 FROM (VALUES (1, 2), (3, 4)) AS mytable (mycol1, mycol2) -- EXISTSにて副問合せを使う SELECT * FROM Flights WHERE EXISTS (SELECT * FROM Flights WHERE dest_airport = 'SFO' AND orig_airport = 'GRU') -- INにて副問合せを使う SELECT flight_id, segment_number FROM Flights WHERE flight_id IN (SELECT flight_ID FROM Flights WHERE orig_airport = 'SFO' OR dest_airport = 'SCL') -- 定量比較にて副問合せを使う SELECT NAME, COMM FROM STAFF WHERE COMM > (SELECT AVG(BONUS + 800) FROM EMPLOYEE WHERE COMM < 5000)