MySQL:搜索两列

时间:2014-11-12 18:37:54

标签: mysql sql

如何在两列中搜索字符串:

用户表:(结构)

id     first_name     last_name
1         John         Adam
2         Chris        Pratt
3         Tom          keene
4         Sarah        April
5         Nina         Lora

如何同时搜索" first_name"和" last_name"对于字符串,例如:

search phrase "pra"
return 
uid => 2

感谢,

2 个答案:

答案 0 :(得分:1)

我发现concat的开销要快于两个全文或搜索。假设不区分大小写...

SELECT ID 
FROM tableName
WHERE CONCAT(First_name,Last_Name) like '%PRA%'

OR

这是典型的方法。

SELECT ID 
FROM TableName
WHERE FIRST_NAME LIKE '%PRA%'
OR LAST_NAME LIKE '%PRA%'

答案 1 :(得分:0)

要为值查询两个单独的列,需要将SELECT语句中的列用逗号分隔,然后在WHERE语句中指定要进行比较的值:

SELECT first_name, last_name 
FROM tableName 
WHERE first_name LIKE '%PRA%' OR last_name LIKE '%PRA%';