我想问一下,在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中搜索该特定字符串 有可能吗?
答案 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%'
顺便说一下,这是在表之间进行交叉连接...你确定这是连接应该如何操作吗?通常它们之间存在关键关系。