mysql – 使用多个EXIST进行查询
发布时间:2020-12-11 23:49:28 所属栏目:MySql教程 来源:网络整理
导读:我有一个房间和设备的数据库.我想查询数据库并返回一个房间列表,例如电视,收音机,坐着和冰箱(eq1,eq2,eq3,.,eqN). 我有以下SELECT语句: select * from rooms r where exists (select id from equipments where eq_id='eq1' and room_id=r.id)andexists (sel
我有一个房间和设备的数据库.我想查询数据库并返回一个房间列表,例如电视,收音机,坐着和冰箱(eq1,eq2,eq3,….,eqN). 我有以下SELECT语句:
有没有什么方法可以优化或缩短它? 最佳答案 缩短你可以
编辑 所以你应该考虑更快的事情: >一次通过与房间相关的所有记录(一个相关的子查询)或 这取决于你的数据的统计数据(我认为如果大多数房间里没有所有需要的设备,那么你的初始版本应该更快,如果大多数房间都有所有设备,那么建议的版本可能表现更好;此外,如果EXISTS版本更快,请首先尝试最有可能失败的查询,即首先检查最稀有的设备) 您也可以尝试使用GROUP BY的版本
(以上SQL未经测试) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |