在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,可以通过使用 EXISTS 条件句防止插入重复记录。
INSERT INTO Table1 (NAME,SEX)
SELECT t1.NAME t1.SEX FROM Table2 t1
WHERE NOT EXISTS(SELECT* FROM Table1 AS t2 WHERE t2.NAME= '张三')
EXISTS与IN的使用效率的问题,通常情况下采用exists要比in效率高,因为IN不走索引,但要看实际情况具体使用:
IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。
浙公网安备 33010602011771号