Я знаю, что уже существует много вопросов для SQL n: n запросов. Однако я не мог найти решение проблемы.SQL n: n - наилучшая практика для запросов в таблице соединений
Я хотел бы создать проект, который является чем-то вроде личного тезауруса. В нем пользователь может определить, какое слово связано с другими словами. У меня есть две таблицы:
words:
+----+-----------+
| id | word |
+----+-----------+
| 1 | house |
| 2 | residence |
+----+-----------+
words_2_words (junction table)
+----+-------+-------+
| id | word1 | word2 |
+----+-------+-------+
| 1 | 1 | 2 |
+----+-------+-------+
найти все синонимы для дома довольно легко:
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 запросов в один запрос для более быстрых результатов?
!!! См. СОЮЗ !!! – Strawberry