如何在多个表中使用mysql等/ wildcard语法,它是否会如此简单:
(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') AND (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
没有经过测试,只是考虑一下。
答案 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%')