记录一个在实现sql编写时,不同sql编写方案实现相同情况的对比。
引发思考,对于需求会有不同的 解决方案,在时间空间,效率允许的情况下,我们可以选择一个执行效率与所消耗的系统性能更低的方案去编写 sql
SELECT * FROM `coin_insert` where (currency_type != 2 or monetary_unit != 1);
SELECT *
FROM `coin_insert` c1
WHERE NOT EXISTS (SELECT '1' FROM `coin_insert` c2 WHERE currency_type = '2' AND monetary_unit = '1' AND c2.id = c1.id);
两个sql都是排除currency_type = 2
,monetary_unit = 1
的情况(currency_type = ‘2’ AND monetary_unit = '1’是游艺币)。剩下的是其余的。