2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-25 06:18:05 +02:00

Added further explanation

This commit is contained in:
Stefan Koch 2013-07-30 12:42:12 +02:00
parent cc365eade0
commit c1d93b86a1

View file

@ -8,3 +8,29 @@ WHERE f1.person2 != f2.person2
AND f1.person1 = <id>
AND p3.person1 IS NULL
AND p3.person2 IS NULL
Weitere Erklärungen:
Ansatz:
1. Suche alle Personenpaare, die beide <id> als Freund haben (wobei
nur ungleiche paare gesucht sind, da man nicht mit sich selbst befreundet
sein kann)
2. Prüfe über die Menge dieser Paare, welche noch nicht befreundet sind
Dazu:
1. SELECT f1.person2, f2.person2 FROM FriendshipSymmetric f1
JOIN FriendshipSymmetric f2 ON f1.person1 = f2.person1
WHERE f1.person2 != f2.person2
AND f1.person1 = <id>;
2. Ein LEFT JOIN ergänzen, um zu ermitteln, welche Paare nicht tatsächlich
in FriendshipSymmetric stehen (diese werden NULL joinen). Daher nach NULL
selektieren
Beispielhaftes Ergebnis für gegebene Situation und id=4:
"1","5"
"2","5"
"3","5"
"5","1"
"5","2"
"5","3"