1. 程式人生 > >SQL語句技巧點滴

SQL語句技巧點滴

        1、快速複製表:
        SELECT * INTO TBL2 FROM TBL1 WHERE 1 <> 1

        2、複製資料:
        INSERT INTO b(a,b,c) SELECT d,e,f FROM b

        3、記錄唯一性檢查:
        SELECT fld1,fld2,fld3,COUNT(*)
        FROM tbl
        GROUP BY fld1,fld2,fld3
        HAVING COUNG(*) > 1
        --注:fld1,fld2,fld3為主鍵

        4、兩表資料結構相同,以新表更新舊錶。原則:舊錶有而新表沒有的資料,保留;舊錶有新表也有的資料,更新(即用新表的資料覆蓋舊錶的資料);新表有而就表沒有的資料,插入。
        INSERT INTO tbl1
        SELECT * FROM tbl2
        WHERE NOT EXISTS (SELECT tbl.fld1 FROM tbl1 WHERE tbl1.f1 = tbl2.f1)
        --f1為主鍵,以上完成追加功能。
        UPDATE tbl1 SET tbl1.f1 = tbl2.f1,tbl1.f2 = tbl2.f2
        FROM tbl2
        WHERE tbl1.f1 = tbl2.f1
        --以上完成更新功能。