我正在尝试编写一个涉及两个表的简单查询。"person" 表有一个唯一的person_id
和 a name
,而 "friends" 表有 aperson_id
和 a ,它们是person 表中friend_id
a 的 FK 。person_id
person:
<PK> int person_id
varchar[45] name
friends:
<PK> int person_id
<PK> int friend_id
我想选择人 1 的所有朋友的名字。
我可以使用以下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
陈述。有人可以帮我写等效的加入吗?
显然这是一个人为的例子,但我已经尝试使用我的真实数据并且在概念上遗漏了一些东西。谢谢。