在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,可以通过使用 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适合于外表小而内表大的情况。

posted on 2013-05-24 14:36  清风暮雨  阅读(135)  评论(0)    收藏  举报