ถามใหม่ดีกว่าครับ คือ Synonyms นี่มันคือ ตารางความสัมพันธ์ระหว่างคำศัพท์ใช่ป่ะครับ คือ บอกว่าคำอะไร Synomym กันบ้าง (เพิ่งจะเก็ท)
ถ้างั้น แบบนี้ก็ Join ซ้อน Join ครับ
Join แรก เอา Vocab มาก่อน
SELECT *
FROM Syn s1 JOIN Vocab v1 ON (s1.VocabID = v1.Vocab_ID )
จะได้ตาราง Synomym ที่มีคำติดต้นมาด้วยแล้ว แต่ยังขาดคำเหมือน

จากนั้น เอา Table นี้ ไป Join ต่อ อีกที เพื่อเอาคำเหมือนมา
SELECT *
FROM Syn s1 JOIN Vocab v1 ON (s1.VocabID = v1.Vocab_ID )
JOIN Vocab v2 ON s1.VocabSynID = v2.Vocab_ID
ก็จะได้ตารางคำเหมือน ที่มีคำต้น และคำเหมือนติดมาด้วย ก็น่าจะถูกแล้วใช่ไหมครับ
จากนั้น ถ้าจะให้มันสวยหน่อยก็ใส่ชื่อเข้าไป
SELECT v1.Vocab_ID, v1.Vocab, v2.Vocab_ID As SynomymId, v2.Vocab As Synonym
FROM Syn s1 INNER JOIN Vocab v1 ON (s1.VocabID = v1.Vocab_ID )
INNER JOIN Vocab v2 ON s1.VocabSynID = v2.Vocab_ID

แต่พี่กลัวอย่างเดียวคือเรื่อง Performance ครับ น่าจะช้าพอสมควร แต่ต้องลองดู