使用MySQL,如果您有一个句子表和一个包含多对多表的单词表,其中包含它们之间的关系,您将如何构建查询以查找包含短语的句子?
例如,使用这些表...
Words
1 apples
2 like
3 I
4 used
5 to
6 eat
Sentences
1 I used to like apples
2 I used to eat apples
Words2Sentences
pkey fk_word fk_sentence
1 1 1
2 2 1
3 3 1
4 4 1
5 5 1
6 1 2
7 3 2
8 4 2
9 5 2
10 6 2
您将如何构造联接和查询以便找到短语“二手”。由于需要多语言支持,全文索引不适合我的需求。
最佳答案
在INNER JOIN
子句中使用LIKE
和WHERE
。见下文:
SELECT
Words,Sentences
FROM Words A
INNER JOIN Words2Sentences B A.fk_word=B.fk_word
INNER JOIN Sentences C B.fk_sentence=C.fk_sentence
WHERE Sentences LIKE '%used to%'