【发布时间】:2010-09-24 23:49:13
【问题描述】:
我正在尝试编写一个涉及两个表的简单查询。 “person”表有一个唯一的person_id和一个name,“friends”表有一个person_id和一个friend_id,这是person表中person_id的FK。
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 语句。有人可以帮我编写等效的连接吗?
显然,这是一个人为的例子,但我已经尝试使用我的真实数据并且在概念上缺少一些东西。谢谢。
【问题讨论】: