如何在两个相似的键上加入两个表?

时间:2015-07-01 02:13:57

标签: sql

我有两个数据表,如

T1:

key1 value
ac ..
abc ..

T2:

key2 value2
ab ..
dd ..

现在,我想在key1和key1上加入T1和T2,条件是key2  key1的子串。如何编写高效的SQL查询来完成这项工作?

1 个答案:

答案 0 :(得分:1)

你不能真正为此编写高效的 SQL。你可以表达为:

select t.*, t2.*
from t1 join
     t2
     on t1.key1 like concat('%', t2.key2, '%');

(注意:大多数数据库都支持字符串连接运算符,例如||+。)

这样效率不高 - 通常会引用索引。对于子字符串操作来说,这是不可能的。

如果表现非常重要,我建议您提出另一个问题,包括样本数据和您需要的结果说明。