如何在mysql中使用右外连接将三个独立的列连接在一起



编写一个SQL RIGHT OUTER JOIN语句,将blog.posts表的user_id列、blog.users表的name列和blog.post表的body列连接在一起。

以下是我目前所拥有的:

USE blog;
SELECT posts.user_id, posts.body, users.name
FROM posts
RIGHT OUTER JOIN users ON
posts.user_id, posts.body = users.name;

以下是列为的表格

posts: id,body,user_id
users: id, name

如何调整此代码以使其正常工作?

以下是RIGHT JOIN的语法。

SELECT column_name(s)
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;

有关更多详细信息,请访问此链接。

https://www.w3schools.com/sql/sql_join_right.asp

希望这能有所帮助。

坚持使用右联接,然后:

SELECT posts.user_id, posts.body, users.name
FROM posts
RIGHT OUTER JOIN users ON posts.user_id = users.id;

但是,更传统的做法是一样的:

SELECT posts.user_id, posts.body, users.name
FROM users
LEFT OUTER JOIN posts ON users.id = posts.user_id;

然而,我希望你不能有一个没有用户的博客,所以我想它真的应该是一个内部加入:

SELECT posts.user_id, posts.body, users.name
FROM posts
INNER JOIN users ON posts.user_id = users.id;

您可以尝试以下操作:

SELECT posts.user_id, posts.body, COALESCE(users.name, 'Unknown') AS user_name
FROM Posts
LEFT JOIN Users
ON Posts.user_id = Users.id

这对我有效

USE blog;
SELECT posts.user_id, posts.body, users.name
FROM posts
RIGHT OUTER JOIN users ON
posts.user_id = users.id;

希望这能帮助

相关内容

  • 没有找到相关文章

最新更新