我有一个关于三个表的简单查询。
表格1:
id product_id product_name
1 1 product1
2 5 product5
3 7 product7
表2:
id media_id media_name
1 1 media_1
2 2 media_2
表3:
id product_id media_id
1 1 1
2 5 2
所以我有查询
SELECT A.product_id, A. product_name, B.media_id, B. media_name FROM 'Table 1' A, 'Table 2' B, 'Table 3' C WHERE 1 AND A.product_id=C.product_id and B.media_id=C.media_id
可能是结构或查询中有错误,但是我得到的结果是,仅表1中product_id 1和5的值,而没有product_id 7的信息,因为没有用于product_id 7的介质。
我应该如何编写查询以获取所有产品的结果,并且如果某个产品没有媒体信息,则只需在结果中将该字段留空,但从包含该特定产品信息的其他表中提供该信息。
谢谢
You are looking for an RIGHT JOIN
see https://www.db-fiddle.com/f/2yKt6d5RWngXVYJKPGZL6m/9
You are looking for
LEFT JOIN
.Source