需求:從資料表 A 的欄位 Aa 中,篩選出也存在於資料表 B 的欄位 Ba 的值。最直觀的寫法是使用 IN 子查詢:
SELECT Aa FROM A WHERE Aa IN (SELECT Ba FROM B);
SELECT Aa FROM A WHERE EXISTS (SELECT 1 FROM B WHERE Ba = A.Aa);在 B 表有索引時通常更快。SELECT DISTINCT A.Aa FROM A INNER JOIN B ON A.Aa = B.Ba;需注意去重。SELECT Aa FROM A INTERSECT SELECT Ba FROM B;語意最清晰。小資料量用 IN 最好讀;大資料量且 B 表有索引時優先考慮 EXISTS;若只需交集且資料庫支援,INTERSECT 最簡潔。