高中学生试图为我们学校创建一个 Facebook 版本。现在,在我们发布之前,我们一直在连接试用数据库中的表。
要加入表格帖子、用户和朋友:
用户 用户名 1 哈莉 2 迪伦 3 萨丽娜 4 多米尼克 朋友们 用户朋友 1 2 1 3 1 4 2 1 3 1 4 1 2 4 4 2 3 2 2 3 帖子 | 用户 | 邮政编码 | 发布 | +--------+--------+------+ | 1 | 101 | 这是虎书!| | 2 | 102 | 我怀孕了。| | 1 | 103 | 我喜欢偷看| | 4 | 104 | 巨大的巴斯光年岩石。| | 3 | 105 | 模具塔克模具 | | 1 | 106 | Murhur de derpity derp | | 2 | 107 | 香蕉意大利面鱿鱼| 高分辨率照片| CLIPARTO | 4 | 108 | 鸡|
我们使用了这段代码:
SELECT users.user,
users.name,
posts.postid,
posts.post,
tmp.friend
FROM (SELECT friend,
user
FROM friends
GROUP BY friend) AS tmp
JOIN users
ON tmp.user = users.user
JOIN posts
ON posts.user = users.user;
结果是:
+--------+---------+--------+---------- --+--------+ | 用户 | 姓名 | 邮政编码 | 发布 | 朋友 | +--------+---------+--------+---------- --+--------+ | 1 | 哈莉 | 101 | 这是虎书!| 2 | | 1 | 哈莉 | 101 | 这是虎书!| 3 | | 1 | 哈莉 | 101 | 这是虎书!| 4 | | 2 | 迪伦 | 102 | 我怀孕了。| 1 | | 1 | 哈莉 | 103 | 我喜欢偷看| 2 | | 1 | 哈莉 | 103 | 我喜欢偷看| 3 | | 1 | 哈莉 | 103 | 我喜欢偷看| 4 | | 1 | 哈莉 | 106 | Murhur de derpity derp | 2 | | 1 | 哈莉 | 106 | Murhur de derpity derp | 3 | | 1 | 哈莉 | 106 | Murhur de derpity derp | 4 | | 2 | 迪伦 | 107 | 香蕉意大利面鱿鱼| 高分辨率照片| CLIPARTO 1 | +--------+---------+--------+---------- --+--------+
它删除了由用户 3 和 4 发布的帖子 104、105 和 108。它忽略了用户 2 是用户 3 和 4 的朋友以及它显示的用户 1 的事实。
为什么不显示用户 3 和 4?我们应该尝试不同的代码吗?