2017-11-14 5 views
0

blog.postsテーブルのuser_idカラム、blog.usersテーブルのnameカラム、blog.postsテーブルのbodyカラムを結合するSQL RIGHT OUTER JOIN文を記述します。ここでどのように右外部結合を使用して、3つの別々の列を一緒にmysqlで結合しますか?

私はこれまで何をしているされています。ここでは

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 

ですか?

+0

... posts.user_id = users.id; –

+0

宿題のような音。実際には、右結合は本質的に必要ではなく、まれに有用ではありません。 –

答えて

1

ここでは、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

は、この情報がお役に立てば幸いです。右に固執する

0

あなたは次のように試すことができます。

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

は、参加:

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; 
関連する問題