所以,我有这个 MySQL 问题。
我一直在研究 LEFT JOIN、INNER JOIN 等。据我所知,LEFT JOIN 从左侧连接,如果右侧部分不存在,则其值设置为 NULL。如果连接不匹配,则使用 INNER JOIN 将返回一个空集。
正如你从我之前的陈述中看到的那样,我加入了不同的统计数据,比如比赛中的一个用户。但是,如果 uid2 与 uid1 不是朋友,这将在我的情况下为朋友中的所有字段给出 null。*
如果他们是朋友,我将如何获取所有朋友字段,friends
如果他们不是,我将如何获取所有字段。(我不想在检查他们是否是朋友之前做一个单独的声明)。
这是我之前的声明:
SELECT matches.*, statistics.*, friends.*, users.username
FROM `matches`
LEFT JOIN statistics ON matches.uid1=statistics.uid
LEFT JOIN users ON matches.uid1=users.uid
LEFT JOIN friends ON matches.uid1=friends.fid AND matches.uid2=friends.uid
WHERE matches.mid IN (269,231,131)