Mysql 搜索具有不同列名的多个表以查找字符串
我想问,在sql中,如何为给定字符串搜索具有不同列名的多个表?我知道一张桌子是: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中搜
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%'
顺便说一下,这是在表之间进行交叉连接。。。您确定这是联接的操作方式吗?通常他们之间有一个关键的关系