有三张表,企业表、企业操作员表、操作记录表
企业表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.ENameFROM EWHERE NOT EXISTS(SELECT * FROM EUSER, JNL WHERE EUSER.USERID = JNL.USERID AND EUSER.EID = E.EID);