MYSQL PHP搜索函数INNER JOIN不是必需的


MYSQL PHP Search Function INNER JOIN is not required

我有一个搜索查询:

SELECT a.id, 
       a.name, 
       i.image_id, 
       MATCH(a.name, a.about, a.tags) AGAINST ('%s' IN BOOLEAN MODE) AS relevance 
FROM table_1 a 
INNER JOIN image_table i ON a.id = i.field_id 
WHERE MATCH(a.name, a.about, a.tags) AGAINST ('%s' IN BOOLEAN MODE)!=0 
ORDER BY relevance DESC

这个查询的输出非常简单,它检索与字段名称、about和标记匹配的元组。输出还使用INNER JOIN从另一个表中获取相关图像。

但是,如果没有图像,也就是说,如果用户没有上传图像(将其插入图像表),则整个字段不会被标记为可行的匹配,并因此返回。

如何更改此查询以从table_1中获取元组,即使图像不存在?

因为我可以为匹配的元组生成一个默认图像。

提前谢谢。

使用left join

SELECT a.id,a.name,i.image_id,将(a.name、a.about、a.tags)与("%s"处于增强模式)匹配为相关性FROM表_1a左联接image_table i ON a.id=i.field_idWHERE MATCH(a.name,a.about,a.tags)反对("%s"处于增强模式)=0按相关性DESC排序