0

您如何在多个表中使用 mysql 和类似/通配符语法,它是否简单:

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

没有测试过,只是想想而已。

4

3 回答 3

2

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

SELECT * FROM `table1` WHERE `name` LIKE '%tom%' UNION SELECT * FROM `table2` WHERE `name` LIKE '%sam%'
于 2010-01-07T12:22:22.077 回答
0

使用联合

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION
 (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
于 2010-01-07T12:26:11.463 回答
0

实际上,如果您使用 UNION,则可能会删除任何重复的行。如果您希望保留任何重复项,请使用 UNION ALL(例如,如果您想对表 1 和表 2 中与 %tom% 匹配的所有行执行计数。

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION ALL (SELECT * FROM `table2` WHERE `name` LIKE '%tom%')
于 2010-01-07T13:19:59.240 回答