यदि आपका मैत्री संबंध सममित है, तो आप प्रत्येक जोड़ी को एक अलग रिकॉर्ड में संग्रहीत कर सकते हैं:
friend1 friend2
A B
B A
A C
B D
C B
D B
और सभी B
query को क्वेरी करें इस तरह के दोस्त:
SELECT friend2
FROM friends
WHERE friend1 = 'B'
या उपयोगकर्ता को कम से कम id
. के साथ स्टोर करें पहले फ़ील्ड में और वह सबसे बड़ी id
. के साथ दूसरे में:
friend1 friend2
A B
A C
B D
और क्वेरी B
इस तरह के दोस्त:
SELECT friend1
FROM friends
WHERE friend2 = 'B'
UNION ALL
SELECT friend2
FROM friends
WHERE friend1 = 'B'
पहला विकल्प MySQL
. में थोड़ा अधिक कुशल है , और यह एकमात्र विकल्प है यदि आपका मैत्री संबंध सममित नहीं है (जैसे LiveJournal
पर) )
यह लेख देखें: