d2c2.sql 849 B

1234567891011121314151617181920212223242526272829303132333435
  1. SELECT f1.person2, f2.person2
  2. FROM (
  3. SELECT * FROM FriendshipSymmetric WHERE person1 = <id>
  4. ) f1
  5. JOIN ON
  6. (
  7. SELECT * FROM FriendshipSymmetric WHERE person1 = <id>
  8. ) f2
  9. EXCEPT
  10. (
  11. SELECT * FROM FriendshipSymmetric
  12. )
  13. WHERE f1.person2 != f2.person2
  14. Ohne EXCEPT (da ich mir nicht sicher bin, ob es nun SQL-Standard
  15. ist oder nicht, z.B. SQLite kenn kein EXCEPT, auf einer Übersicht
  16. stand es aber bei SQL89 angehakt dabei).
  17. Hinweis: NOT EXISTS ist True, gdw die Unterabfrage genau 0
  18. Zeilen enthält.
  19. SELECT f1.person2, f2.person2
  20. FROM (
  21. SELECT * FROM FriendshipSymmetric WHERE person1 = 4
  22. ) f1
  23. JOIN
  24. (
  25. SELECT * FROM FriendshipSymmetric WHERE person1 = 4
  26. ) f2 ON f1.person1 = f2.person1
  27. WHERE f1.person2 != f2.person2
  28. AND NOT EXISTS
  29. (
  30. SELECT * FROM FriendshipSymmetric f WHERE f.person1 = f1.person2 AND f.person2 = f2.person2
  31. )