如何在MySQL中实现关键字搜索?
我是SQL编程的新手。
我有一个表的工作,其中字段是id
,position
,category
,location
,salary
range,description
,refno
。
我想从前端实施 。关键字可以位于上表的任何字段中。
这是我尝试过的查询,但包含许多重复的行:
SELECT a.*,
b.catname
FROM
job a,
category b
WHERE
a.catid = b.catid AND
a.jobsalrange = '15001-20000' AND
a.jobloc = 'Berkshire' AND
a.jobpos LIKE '%sales%' OR
a.jobloc LIKE '%sales%' OR
a.jobsal LIKE '%sales%' OR
a.jobref LIKE '%sales%' OR
a.jobemail LIKE '%sales%' OR
a.jobsalrange LIKE '%sales%' OR
b.catname LIKE '%sales%'
回答:
对于VARCHAR字段上的单个关键字,可以使用LIKE
:
SELECT id, category, locationFROM table
WHERE
(
category LIKE '%keyword%'
OR location LIKE '%keyword%'
)
对于描述,通常最好添加全文索引并进行全文搜索(仅适用于MyISAM):
SELECT id, descriptionFROM table
WHERE MATCH (description) AGAINST('keyword1 keyword2')
以上是 如何在MySQL中实现关键字搜索? 的全部内容, 来源链接: utcz.com/qa/432993.html