SELECT dd.* 
 2 FROM (
 3 SELECT AI.ADMININFO_ID as a,
 4 RI.ROLEINFO_NAME as b,
 5 AI.DEL_SIGN
 6 FROM ADMININFO AI
 7 LEFT JOIN ROLEINFO RI
 8 on AI.ROLEINFO_ID = RI.ROLEINFO_ID
 9 AND AI.DEL_SIGN = 1
10 AND RI.ROLEINFO_NAME LIKE '%操作人员%'
11 ) DD WHERE dd.b = '%操作人员%'

问题是

 再套一层在第一层的结果集上过滤,第二层的过滤为啥不好使呢 

这个执行的过程(不知道我说的对不对)是

 有and条件的话就是先过滤两个表的条件,然后再连接 ,这样产生的结果集会小很多,
 再套一层就是在结果集上过滤了,但是现在过滤不好使、 
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐