选择serval表

时间:2015-05-19 20:40:58

标签: php sql mysqli

表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)

1 个答案:

答案 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条件以查看结果。

看看下面的联接图片,通过简单的插图了解其中的差异...... enter image description here