搜索具有不同列名的多个表作为字符串

时间:2015-02-06 16:36:46

标签: mysql

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

select * from table where column like '%string%' 

...但是为同一个字符串搜索多个表(具有不同的列名)? 我正在搜索这样的内容:

select * from table1,table2 where table1.column and table2.column like '%string%'

所以它会在table1.column和table2.column中搜索该特定字符串 有可能吗?

1 个答案:

答案 0 :(得分:0)

这将是典型的方式。

select * from table1,table2 
where table1.column like '%string%'
OR table2.column like '%string%'

或者可能稍微高效一点

这可能会导致轻微的性能提升,因为它不必像“OR”符号那样“搜索两次”。字符串concat的开销可能小于再次执行全表扫描的开销。 %txt%必须做什么。

select * from table1,table2 
where concat(table1.column, table2.column) like '%string%'

顺便说一下,这是在表之间进行交叉连接...你确定这是连接应该如何操作吗?通常它们之间存在关键关系。