Como pesquisar usando a sintaxe semelhante e % curinga em várias mesas
Pergunta
Como você pode usar o MySQL e a sintaxe curinga/curinga em várias mesas, seria tão simples como:
(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') AND (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
Não testado, só de pensar nisso.
Solução
Se suas mesas tiverem as mesmas estruturas, você pode usar UNIÃO:
SELECT * FROM `table1` WHERE `name` LIKE '%tom%' UNION SELECT * FROM `table2` WHERE `name` LIKE '%sam%'
Outras dicas
Use Union
(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION
(SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
Na verdade, se você usar o Union, quaisquer linhas duplicadas poderão ser removidas. Use a Union All se desejar manter qualquer duplicata (digamos se você deseja executar uma contagem com todas as linhas que correspondem % ao Tom % na Tabela 1 e na Tabela2.
(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION ALL (SELECT * FROM `table2` WHERE `name` LIKE '%tom%')
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow