在其他表的多行中选择有条件的行
Posted
技术标签:
【中文标题】在其他表的多行中选择有条件的行【英文标题】:select rows with condition in multi rows of other table 【发布时间】:2013-11-29 19:38:18 【问题描述】:我想显示用户关注的所有帖子。我有两个表是post_tb
和follow_tb
,链接列是post_tb.user_id
和follow_tb.follower_id
。
如果我在表上显示所有帖子,我会得到这样的 sql 条件
"select * from post_tb order by date_time desc;"
这是 sql 条件,仅显示他们关注的帖子。
"select * from post_tb where user_id in(select follow_to_id from follow_tb where follow_tb.follower_id='$sessionid') order by date_time des;"
它们都可以工作,但是当记录数增加时,第二个 sql 会很慢。有没有更好的办法? 谢谢你的回答
【问题讨论】:
【参考方案1】:子查询很慢,而不是使用连接
select * from post_tb p
join follow_tb f ON(p.user_id = f.follow_to_id )
where f.follower_id='$sessionid'
order by date_time desc;
【讨论】:
以上是关于在其他表的多行中选择有条件的行的主要内容,如果未能解决你的问题,请参考以下文章