我知道 SQL n:n 查询已经开始了很多问题。但是我找不到我的问题的解决方案。
我想创建一个类似于个人词库的项目。在其中,用户可以定义哪个单词与其他单词相关。我有两张桌子:
words:
+----+-----------+
| id | word |
+----+-----------+
| 1 | house |
| 2 | residence |
+----+-----------+
words_2_words (junction table)
+----+-------+-------+
| id | word1 | word2 |
+----+-------+-------+
| 1 | 1 | 2 |
+----+-------+-------+
查找 house 的所有同义词相当容易:
SELECT * FROM words_2_words WHERE word1 = 1;
但是,为了确保,我还找到了仅在“word2”列中列出的单词,我实际上需要 2 个查询:
SELECT *, word2 AS synonym FROM words_2_words WHERE word1 = 1;
SELECT *, word1 AS synonym FROM words_2_words WHERE word2 = 1;
如何将这 2 个查询放在一个查询中以获得更快的结果?