まあ言ってみれば:
table users(id, name, ..)
table friends(uid, fid)
33456のユーザーIDの友達を取得するにはどうすればよいですか?
SELECT fid idd, name
FROM users,
friends
WHERE uid = 33456
AND fid = id
しかし、私に予期しない結果を与えるでしょう
SELECT id, fid, name
FROM users,friends where users.id=friends.fid
WHERE users.id = 33456
SELECT id, fid, name
FROM users
INNER JOIN friends ON users.id=friends.fid
WHERE users.id = 33456
select id,name from users where id in (select fid from friends where uid=33465)
これにより、友達の名前が付いたすべてのIDが返されます。
SELECT b.fid, c.name
FROM users a INNER JOIN friends b ON a.id = b.uid
INNER JOIN users c on b.fid = c.id
WHERE a.id = 33456
SELECT u.name,u.id
FROM users u
WHERE u.id IN
(
SELECT f.fid
FROM users u INNER JOIN friends f ON u.id = f.fid
WHERE f.uid = 33456
)