MySQL Поиск Имен - Разделенный Пробелом - PullRequest
0 голосов
/ 17 ноября 2010

У меня есть база данных MySQL и таблица со следующим столбцом имен:

id  name           age
1   samuel lee     31
2   doug sokira    32
3   vernon smith   33

Я бы хотел поискать в базе данных имена. У меня есть этот запрос до сих пор:

SELECT * FROM table WHERE name LIKE 's%'

Это вернет мне первую запись с идентификатором 1.

Однако я бы хотел, чтобы запрос продолжал поиск по тексту, также отделенному пробелом. Таким образом, чтобы выразить словами, поиск должен осуществляться как по имени, так и по фамилии.

Я готов придерживаться этого дизайна базы данных, где имя и фамилия хранятся в одном столбце.

Итак, приведенный выше запрос должен возвращать строки 1, 2 и 3.

Как мне сформулировать свой запрос?

Ответы [ 2 ]

5 голосов
/ 17 ноября 2010
SELECT * From table WHERE name LIKE 's%' OR name LIKE '% s%'

Обратите внимание, что это не может использовать любой индекс и, следовательно, всегда будет медленнымПожалуйста, пересмотрите разделение столбцов.

4 голосов
/ 17 ноября 2010
SELECT * FROM table WHERE name LIKE '%s%'

, который возвращает строки 1, 2 и 3, так как все они содержат 's'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...