我有 2 个表,第一个被称为friendship
第二个被称为user
具有以下详细信息
friendship
表字段:
uid1, uid2
user
表字段:
uid, username, primary_email, f_name, m_name, l_name, avatar, avatar_path
user
想法是在表上时从表uid1
中获取所有朋友的详细信息friendship
,例如 =1 以下查询是这个想法的最佳实践吗?
SELECT
u.uid,
u.username,
u.primary_email,
u.f_name,
u.m_name,
u.l_name,
u.avatar,
u.avatar_path
FROM friendship AS f
LEFT JOIN user AS u ON f.uid2=u.uid
WHERE f.uid1=1
最佳实践是对单个查询使用连接还是使用 2 个查询一个从友谊表中提取 id,第二个从用户表中提取每个 id 的详细信息,例如:-
SELECT uid2 from friendship WHERE uid1 =1
这个查询给了我 ids 2,4,6,5,9 的数组然后我在下面的查询中使用它
SELECT * from user WHERE uid IN (2,4,6,5,9)
最佳做法是什么?