简化MySQL查询并集

彼得·巴比克

我需要知道,这是执行此操作的正确方法:

(SELECT id, name, 1 AS reference FROM antenna WHERE id IN (SELECT antenna_id FROM reference)) 
UNION DISTINCT
(SELECT id, name, 0 AS reference FROM antenna WHERE id NOT IN (SELECT antenna_id FROM reference))

这样做已经有一段时间了,即使它工作得很好,也很难看。

CodeBird

我无法确定它是否可以正常工作,测试和基准测试:

SELECT antenna.id, antenna.name, CASE WHEN COALESCE(reference.antenna_id, 0)!=0 
THEN 1 ELSE 0 END AS reference FROM antenna LEFT JOIN reference 
ON antenna.id=reference.antenna_id

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章