如何通过SQL在评论表中匹配关键词表并返回对应匹配结果?
实现评论与动物关键词的匹配查询
当然可以实现你要的结果!我们可以通过交叉连接配合INSTR()函数来筛选出评论中包含对应动物关键词的记录,具体SQL语句如下:
SELECT c.comment_id, k.animal_id FROM comments c CROSS JOIN keywords k WHERE INSTR(c.comment, k.keyword) > 0 ORDER BY c.comment_id, k.animal_id;
逻辑说明:
CROSS JOIN会先把comments和keywords的所有记录做笛卡尔积组合,也就是每个评论都先和每个关键词配对一次;INSTR(c.comment, k.keyword) > 0用来判断当前评论里是否包含对应关键词:只要INSTR()返回大于0的数值,就说明关键词在评论中存在,这条配对记录就会被保留;- 最后用
ORDER BY把结果按comment_id和animal_id排序,就能得到你想要的输出格式。
执行后得到的结果:
| comment_id | animal_id |
|---|---|
| 1 | 3 |
| 1 | 4 |
| 2 | 1 |
| 2 | 2 |
内容的提问来源于stack exchange,提问作者Willy_Sunny
相关产品推荐
相关产品推荐

