MYSQL PHP搜索函数内部联接不是必需的

MYSQL PHP搜索函数内部联接不是必需的,php,mysql,select,match,inner-join,Php,Mysql,Select,Match,Inner Join,我有一个搜索查询: 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

我有一个搜索查询:

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
此查询的输出非常简单,它检索与字段名称、关于和标记匹配的元组。输出还使用内部联接从另一个表获取相关图像

但如果没有图像,即如果用户没有上传图像(将其插入图像表),则整个字段不会标记为可行匹配,并作为结果返回

即使 图像不存在

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


提前感谢。

使用
左连接

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 LEFT 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 选择a.id, a、 名字, i、 图像标识, 将(a.name、a.about、a.tags)与(“%s”在布尔模式下)匹配为相关性 来自表1 a a.id=i.field\u id上的左连接图像\u表i 其中(a.name、a.about、a.tags)与(“%s”在布尔模式下)匹配=0 按相关性顺序描述
你是不是在寻找一个
左连接
而不是
内部连接
?正是@colinmoreli谢谢,刚刚刷新了不同类型的连接我同意第一个更改,左连接,但是'OR i.field_id IS NULL'当然会返回表中的所有字段。我没有注意到您只与
表1
中的列匹配。