对,象这样的sql,还有种 exists 和not exists 的写法 SELECT NAME FROM wtuser2 a WHERE NOT EXISTS (SELECT en_name FROM workitem_creator b WHERE a.NAME = b.en_name) AND NOT EXISTS (SELECT en_name FROM not_login_user c WHERE a.NAME = c.en_name)
对,但是not in 效率普通很慢,建议使用 not exists 替换,较高效率的写法如下:SELECT NAME FROM wtuser2 a WHERE NOT EXISTS ((SELECT en_name FROM workitem_creator union all SELECT en_name FROM not_login_user ) c WHERE a.NAME = c.en_name)
SELECT NAME
FROM wtuser2 a
WHERE NOT EXISTS
(SELECT en_name FROM workitem_creator b WHERE a.NAME = b.en_name)
AND NOT EXISTS
(SELECT en_name FROM not_login_user c WHERE a.NAME = c.en_name)
FROM wtuser2 a
WHERE NOT EXISTS
((SELECT en_name FROM workitem_creator
union all
SELECT en_name FROM not_login_user ) c WHERE a.NAME = c.en_name)
你放在SQLPLUS或PLSQL里面执行一下不就知道了?