彙整 8 個高頻實用 SQL 模式,涵蓋複製表、關聯查詢、排程提醒、清理孤立資料、跨月庫存對帳、學生資料篩選等場景,可直接套用改良。
SELECT * INTO b FROM a WHERE 1<>1;
INSERT INTO b(a, b, c) SELECT d, e, f FROM a;
SELECT a.title, a.username, b.adddate
FROM table a,
(SELECT MAX(adddate) adddate FROM table WHERE table.title = a.title) b;
SELECT a.a, a.b, a.c, b.c, b.d, b.f
FROM a LEFT OUTER JOIN b ON a.a = b.c;
SELECT * FROM 排程
WHERE DATEDIFF(minute, 開始時間, GETDATE()) > 5;
DELETE FROM info
WHERE NOT EXISTS (
SELECT * FROM infobz WHERE info.infid = infobz.infid
);
SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE
FROM TABLE1,
(SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE
FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND
FROM TABLE2
WHERE TO_CHAR(UPD_DATE, 'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X,
(SELECT NUM, UPD_DATE, STOCK_ONHAND
FROM TABLE2
WHERE TO_CHAR(UPD_DATE, 'YYYY/MM') = TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') || '/01', 'YYYY/MM/DD') - 1, 'YYYY/MM')) Y
WHERE X.NUM = Y.NUM (+)
AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND
) B
WHERE A.NUM = B.NUM;
SELECT * FROM studentinfo
WHERE NOT EXISTS (SELECT * FROM student WHERE studentinfo.id = student.id)
AND 系名稱 = '...' AND 專業名稱 = '...'
ORDER BY 性別, 生源地, 高考總成績;
TO_CHAR→DATE_FORMAT、NVL→COALESCE、GETDATE→NOW())WHERE table.title = a.title 若無索引效能極差,實際應用務必加索引DELETE ... NOT EXISTS 大量資料建議分批提交,避免長鎖定