表 A、B、C
如何进行连接这三个表的查询。条件是Table A
必须有记录。
我试过这样
select * from a
left join b on a.article_id = b.article_id
left join c on b.file_id = c.submission_id
where c.user_id = 6;
Table C
在缺少记录的情况下,我的查询不起作用。在这种情况下,连接不适用于三个表。
表 A、B、C
如何进行连接这三个表的查询。条件是Table A
必须有记录。
我试过这样
select * from a
left join b on a.article_id = b.article_id
left join c on b.file_id = c.submission_id
where c.user_id = 6;
Table C
在缺少记录的情况下,我的查询不起作用。在这种情况下,连接不适用于三个表。
外部表上的任何标准都必须是相关的 ON 子句,而不是 WHERE 子句。
例如:
select * from a
left join b on a.article_id = b.article_id
left join c on b.file_id = c.submission_id and c.user_id = 6;
如果使用LEFT JOIN
,则即使表中没有对应的记录,也会选择来自a
和的记录。改用:b
c
INNER JOIN
SELECT * FROM a
INNER JOIN b ON a.article_id = b.article_id
INNER JOIN c ON b.file_id = c.submission_id
WHERE c.user_id = 6;