Поиск полного имени или имени или фамилии в базе данных MySQL с указанием имени и фамилии в отдельных столбцах

Я работаю с существующей базой данных, которая имеет имя и фамилию, разделенные в базе данных. Мне нужно создать функцию, которая будет принимать один результат поиска и возвращать результаты. скажем, моя база данных имеет такую структуру, как....

nameFirst nameLast
Joe       Smith
Joe       Jones
Joe       Brown

Как я мог, используя MySql, взять вход для поиска, который называется "Джо Смит" и просто получить его строку? Но если я поставлю "Джо" в поле поиска, верните их все? Мне нужно взорвать строку с пробелом? благодарю!

Ответ 1

SELECT * 
FROM table
WHERE CONCAT( nameFirst,  ' ', nameLast ) LIKE  '%Joe%'  

Не забудьте очистить любые пользовательские параметры, такие как "Joe",

Ответ 2

SELECT * FROM table WHERE CONCAT(nameFirst, ' ', nameLast) LIKE 'Joe%';

Я предлагаю использовать это, если вы уверены, что ваш поиск начинается с "Джо", чтобы фильтровать больше.

По моему скромному мнению, во многих случаях мы не знаем, является ли поисковый ввод именем или фамилией, поэтому я предлагаю использовать это:

SELECT * FROM table WHERE CONCAT(nameFirst,  ' ', nameLast) LIKE  'SEARCH_INPUT%' OR CONCAT(nameLast,  ' ', nameFirst) LIKE 'SEARCH_INPUT%';