--IN 转换为 EXISTS 和 NOT EXISTS SELECT * FROM test2 t2 WHERE t2.col1 IN ('2' ); SELECT * FROM test2 t2 WHERE EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 = '2' ) SELECT * FROM test2 t2 WHERE NOT EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 != '2')
--NOT IN 转换为 EXISTS 和 NOT EXISTS SELECT * FROM test2 t2 WHERE t2.col1 NOT IN ('2'); SELECT * FROM test2 t2 WHERE EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 != '2' ); SELECT * FROM test2 t2 WHERE NOT EXISTS (SELECT * FROM test2 t WHERE t.col1 = t2.col1 AND t.col1 = '2');