2 つのテーブルを含む単純なクエリを作成しようとしています。「person」テーブルには、一意person_idの と がnameあり、「friends」テーブルには、 person テーブルのの FK である と がありperson_idます。friend_idperson_id
person:
<PK> int person_id
varchar[45] name
friends:
<PK> int person_id
<PK> int friend_id
person1の友達全員の名前を選びたいです。
INステートメントを使用してこれを簡単に行うことができます。
SELECT p.name FROM person p WHERE p.person_id IN (SELECT f.friend_id FROM friends f WHERE f.person_id = 1);
しかし、私はJOIN声明を書くのが得意ではありません。誰かが同等の結合を書くのを手伝ってくれますか?
明らかにこれは不自然な例ですが、実際のデータで試してみたところ、概念的に何かが欠けています。ありがとう。