我想对 WordPress 表 wp_posts
和 wp_postmeta
执行左连接。
从 wp_posts
表中进行简单选择
select ID from wp_posts
这是输出:
'1'
'2'
'14'
'15'
'16'
'17'
...
它应该执行我的左连接查询
select a.ID from wp_posts a
left JOIN wp_postmeta b on b.post_id = a.ID
这是输出:
'1'
'1'
'1'
'2'
'2'
'2'
'14'
'14'
'14'
...
这是不正确的,我的左连接不像这里的左连接。
我的简单左连接可能存在什么问题?
最佳答案
它正在正常工作。我想不出 LEFT JOIN 返回的行数比其他相同的 INNER JOIN 少的原因;说明这一点的最简单方法可能是将 wp_postmeta 中的字段添加到您的 SELECTed 字段并查看结果。 现在,如果您想要 wp_posts 中的所有 ID 值,您可以这样做:
SELECT DISTINCT a.ID
FROM wp_posts a
LEFT JOIN wp_postmeta b ON b.post_id = a.ID
;
但是,为什么您不只使用原始(非连接)查询并没有多大意义。
关于mysql - 为什么我的左连接表现为内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25947470/