テーブルに対称関係がある場合、それをエレガントに表現するにはどうすればよいでしょうか? たとえば、 というテーブルがあり、そこにはFriend2 人のユーザーのユーザー ID が含まれている必要があります。UID1このテーブルでandを使用UID2する場合、A_uid と B_uid がフレンドであるかどうかを調べたい場合は、使用する必要があります。
SELECT * FROM Friend WHERE (UID1 = A_uid AND UID2 = B_uid) OR (UID1 = B_uid AND UID2 = A_uid);
なぜならUID1、 とUID2は友情を表す点で同じだからです。このジレンマで最も重要なのは、UID1とUID2が対称であることです。
これは醜いので、もっと良い方法があるかどうか知りたいと思います。
ありがとう!