mysql5.7,sql语句查询太慢,用EXISTS代替in报错

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图

其中部分sql


SELECT
        o2.organization_id 
    FROM
        dhr.g_org o1
        INNER JOIN dhr.g_org o2 ON o2.leftnode >= o1.leftnode 
        AND o2.rightnode <= o1.rightnode 
    WHERE
        o1.organization_id IN ( 2222 ) 
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

整条sql查询结果最多五六千条,就接近10s,我看也走索引了。

img

你那条exists的sql应该像下面这样,语法才是正确的

SELECT
    y.city_name,
    y.employee_number
FROM
    sddp.month y
    INNER JOIN sddp.report l ON y.`year_month` = '202112' 
    AND l.`year` = '2021' 
    AND y.job_zhuanye = l.job_zhuanye 
    where NOT EXISTS ( SELECT 1 FROM sddp.report_not d 
WHERE d.`year` = '2021' and d.employee_number= y.employee_number) 

exists 后面跟的是子查询 select * from table_name where exists (select * from table_name where b=1)