, если ваш движок таблиц базы данных - myISAM , тогда используйте поиск FULLTEXT
сначала создать FULLTEXT index by
CREATE FULLTEXT INDEX fx_name ON pages (name, surname)
затем используйте запрос ниже, чтобы получить необходимые данные
SELECT *
FROM table
WHERE MATCH(name,surname) AGAINST ('keyword' IN BOOLEAN MODE)
обновление
альтернатива: используйте CONCAT
сначала создать индекс
CREATE INDEX users_firstandlast ON users(name, surname);
option1: повторите CONCAT
в вашем предложении WHERE
(поскольку AS не создает имя, которое вы можете использовать в предложении WHERE):
SELECT CONCAT(name, ' ', surname) as fullname
FROM users
WHERE CONCAT(name, ' ', surname) LIKE '%joe green%';
вариант 2:
SELECT CONCAT(name, ' ', surname) as fullname
FROM users
WHERE name LIKE '%joegreen%' or surname LIKE '%joegreen%';
Дополнительная информация