MySQL 4.1+ 支援子查詢,邏輯清晰但需建立臨時表執行,效能較差。
-- 子查詢版(建立臨時表)
SELECT * FROM customerinfo
WHERE CustomerID NOT IN (SELECT CustomerID FROM salesinfo);
-- JOIN 版(無臨時表,salesinfo.CustomerID 有索引時極快)
SELECT * FROM customerinfo
LEFT JOIN salesinfo ON customerinfo.CustomerID = salesinfo.CustomerID
WHERE salesinfo.CustomerID IS NULL;
ref 存取極高效。EXISTS 可能優於 JOIN,需實測 EXPLAIN 對比。