MySQL子查询-查找用户所在的房间,并查找房间中的其他人
我有一张简单的桌子,上面有用户和房间。一个用户可以在多个房间中,我想做的是在一个查询操作中查找用户所在的房间以及同一房间中的其他人MySQL子查询-查找用户所在的房间,并查找房间中的其他人,mysql,Mysql,我有一张简单的桌子,上面有用户和房间。一个用户可以在多个房间中,我想做的是在一个查询操作中查找用户所在的房间以及同一房间中的其他人 SELECT user, room FROM rooms WHERE user='foobar' 我可以简单地进行另一个查询,即从room='theroom'所在的rooms中选择用户,但是有没有办法减少MySQL查询并提供性能优势 您可以将rooms表本身连接起来: SELECT r1.user, r1.room, r2.user FROM rooms
SELECT user, room FROM rooms WHERE user='foobar'
我可以简单地进行另一个查询,即从room='theroom'所在的rooms中选择用户,但是有没有办法减少MySQL查询并提供性能优势 您可以将rooms表本身连接起来:
SELECT r1.user, r1.room, r2.user
FROM
rooms r1 JOIN rooms r2 ON r2.room = r1.room
WHERE r1.user='foobar'AND r2.user != 'foobar'
这个怎么样:
SELECT r.user, r.room
FROM rooms r JOIN rooms x ON r.room=x.room
WHERE x.user='foobar';
在这种情况下,我认为您可以在查询中使用“In”子句 从房间中选择用户,其中房间位于从房间中选择房间,其中用户='foobar'