如何在多个表中使用LIKE语法和%WILDCARD%进行搜索

时间:2010-01-07 12:20:02

标签: php mysql search wildcard sql-like

如何在多个表中使用mysql等/ wildcard语法,它是否会如此简单:

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') AND (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')

没有经过测试,只是考虑一下。

3 个答案:

答案 0 :(得分:2)

如果您的表具有相同的结构,则可以使用UNION

SELECT * FROM `table1` WHERE `name` LIKE '%tom%' UNION SELECT * FROM `table2` WHERE `name` LIKE '%sam%'

答案 1 :(得分:0)

使用UNION

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION
 (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')

答案 2 :(得分:0)

实际上,如果您使用UNION,则可能会删除任何重复的行。如果您希望保留任何重复项,请使用UNION ALL(例如,如果要在table1和table2中匹配%tom%的所有行上执行COUNT。

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION ALL (SELECT * FROM `table2` WHERE `name` LIKE '%tom%')