您如何在多个表中使用 mysql 和类似/通配符语法,它是否简单:
(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') AND (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
没有测试过,只是想想而已。
如果您的表具有相同的结构,则可以使用UNION:
SELECT * FROM `table1` WHERE `name` LIKE '%tom%' UNION SELECT * FROM `table2` WHERE `name` LIKE '%sam%'
使用联合
(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION
(SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
实际上,如果您使用 UNION,则可能会删除任何重复的行。如果您希望保留任何重复项,请使用 UNION ALL(例如,如果您想对表 1 和表 2 中与 %tom% 匹配的所有行执行计数。
(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION ALL (SELECT * FROM `table2` WHERE `name` LIKE '%tom%')