多個無關查詢可合併為單一查詢 (需引入 DUAL 配合外部連接),提高效率但降低可讀性,需權衡。
SELECT E.NAME, D.NAME, C.NAME
FROM CAT C, DPT D, EMP E, DUAL X
WHERE NVL('X',X.DUMMY) = NVL('X',E.ROWID(+))
AND NVL('X',X.DUMMY) = NVL('X',D.ROWID(+))
AND NVL('X',X.DUMMY) = NVL('X',C.ROWID(+))
AND E.EMP_NO(+) = 1234
AND D.DEPT_NO(+) = 10
AND C.CAT_TYPE(+) = 'RD';
DELETE FROM EMP E
WHERE E.ROWID > (SELECT MIN(X.ROWID)
FROM EMP X
WHERE X.EMP_NO = E.EMP_NO);
DELETE:記錄於回滾段,未 COMMIT 可復原,資源消耗大TRUNCATE:不記回滾段,不可復原,極少資源、極快TRUNCATE 為 DDL,僅適用清空整表