日期:2014-05-17  浏览次数:20787 次

跪求一个SQL语句,请高手指点
有三张表,企业表、企业操作员表、操作记录表



企业表E
EID ENAME 


企业操作员EUSER
USERID USERNAME


操作历史记录表JNL
JNLID JNLDATA JNLTIME



其中一个企业下面有N个操作员
现在想统计出从未有操作员登录过本系统的企业(请注意是企业)
尽量不要用IN、NOT IN的写法,用最优化的写法

------解决方案--------------------
用not exists试试看?
SQL code
select * from E where not exists (select 1 from EUSER u, JNL j where u.userid=u.userid and e.eid=u.eid )

------解决方案--------------------
使用NOT EXIST和相关子查询。
代码如下:
SQL code

SELECT E.EName
FROM E
WHERE NOT EXISTS(SELECT * FROM EUSER, JNL WHERE EUSER.USERID = JNL.USERID AND EUSER.EID = E.EID);