表a:
userid | text
9 | Lorem ipsum do...
表b:
id | status
9 | 1
问题:
我想从table a
中选择*来自uid的连接table b
- > id status=1
的位置。我不知道它是否可能。
我搜索过它,但我一无所获。
我的查询:
SELECT * FROM tablea a WHERE id IN (SELECT id FROM tableb b WHERE b.status='1' AND b.id = a.userid)
答案 0 :(得分:1)
内部联接
select *
from a inner join b on a.userid = b.id
where b.status = 1;
左连接
select *
from a left join b on a.userid = b.id
where b.status = 1;
或
正确加入
select *
from a right join b on a.userid = b.id
where b.status = 1;
在此处查看演示:SqlFiddle
检查sqlfiddle以查看差异,如果您希望表-a中存在该ID,则更多,其中它存在于表-b中,状态= 1。
如果跳过b.status,则可能需要进行内部联接查询。
请研究不同的查询以了解联接,转到sqlfiddle并删除b.status条件以查看结果。
看看下面的联接图片,通过简单的插图了解其中的差异......