我有一個簡單的表格,包含用戶和房間。用戶可以在多個房間中,我想要做的是查找用戶所在的房間,以及在一次查詢操作中同一房間中的其他人。MySQL子查詢 - 查找用戶所在的房間,並查找房間中的其他人
SELECT user, room FROM rooms WHERE user='foobar'
我可以簡單地有另一查詢後,也就是SELECT user FROM rooms WHERE room='theroom'
,但有什麼辦法,以減少對MySQL的查詢,並提供性能優勢?
我有一個簡單的表格,包含用戶和房間。用戶可以在多個房間中,我想要做的是查找用戶所在的房間,以及在一次查詢操作中同一房間中的其他人。MySQL子查詢 - 查找用戶所在的房間,並查找房間中的其他人
SELECT user, room FROM rooms WHERE user='foobar'
我可以簡單地有另一查詢後,也就是SELECT user FROM rooms WHERE room='theroom'
,但有什麼辦法,以減少對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');