Mysql 搜索具有不同列名的多个表以查找字符串

Mysql 搜索具有不同列名的多个表以查找字符串,mysql,Mysql,我想问,在sql中,如何为给定字符串搜索具有不同列名的多个表?我知道一张桌子是: select * from table where column like '%string%' 。。。但是在多个表(具有不同的列名)中搜索同一个字符串? 我正在搜索这样的内容: select * from table1,table2 where table1.column and table2.column like '%string%' 所以它会在table1.column和table2.column中搜

我想问,在sql中,如何为给定字符串搜索具有不同列名的多个表?我知道一张桌子是:

select * from table where column like '%string%' 
。。。但是在多个表(具有不同的列名)中搜索同一个字符串? 我正在搜索这样的内容:

select * from table1,table2 where table1.column and table2.column like '%string%'
所以它会在table1.column和table2.column中搜索特定的字符串
可能吗?

这是典型的方式

select * from table1,table2 
where table1.column like '%string%'
OR table2.column like '%string%'
或者效率稍微高一点

这可能会导致性能略有提高,因为它不必像“或”符号那样“搜索两次”。字符串concat的开销可能小于再次执行完整表扫描的开销。%txt%必须执行的操作

select * from table1,table2 
where concat(table1.column, table2.column) like '%string%'
顺便说一下,这是在表之间进行交叉连接。。。您确定这是联接的操作方式吗?通常他们之间有一个关键的关系