比方說,我有一張名爲「朋友」的表格,並且爲每個友誼添加了兩個條目。例如,如果用戶1和2是朋友,我們將有:找到朋友的朋友,排除朋友的最有效方法
uid1 uid2
----------
1 2
2 1
我的目標是要找到朋友的朋友,exclding朋友。以下查詢給我朋友的朋友(包括朋友):
SELECT f2.uid2 FROM friends f1, friends f2 WHERE f1.uid1='YOUR_ID' AND f1.uid2=f2.uid1 AND f2.uid2!='YOUR_ID'
我的首選是不使用IN或NOT IN。你能想出任何補充這個查詢的東西嗎?
爲什麼你的朋友加入兩個記錄?這不會重複記錄嗎? –
它使事情變得更容易。我不需要這樣的CASE語句。 – user3163577
RDBS不適合圖形。對於這個特殊的要求是可以的,但你可以考慮切換到圖形DBS。 –