MySQL、记录的坑
2020-08-20 本文已影响0人
二傻吧
SELECT * FROM asdfasdf cp WHERE cp.id NOT IN (SELECT p_id FROM csp ORDER BY id DESC LIMIT 0,10)
sql类似上面的内容,需要多表联查,把A表中的结果作为B表的查询条件,结果发现sql执行有误,然后查了一下,网上有道友介绍说跟我遇到了一样的问题,然后把(SELECT plank_id FROM cloud_storage_plank ORDER BY id DESC LIMIT 0,10) 中的筛选结果作为新的表格可以解决。
于是,sql成了这样
SELECT * FROM asdfasdf cp WHERE cp.id NOT IN (SELECT p_id(SELECT p_id FROM csp ORDER BY id DESC LIMIT 0,10) tb)
嗯,真的解决了,但是。
问题是在LIMIT 0,10,而且这种修改后的语句性能会大大降低,其实 LIMIT 0,10只要用在外层就可以了,不用重铸表。