MS Access - 通配符加入与无加入过滤

Posted

技术标签:

【中文标题】MS Access - 通配符加入与无加入过滤【英文标题】:MS Access - wildcard join versus filtering with no join 【发布时间】:2015-07-18 20:14:25 【问题描述】:

在我看来,我有两个选项可以在连接字段上使用通配符“连接”两个表。我从性能的角度想知道哪个更有效?

选项1——通配符加入

select *
from table1
inner join table2
on table1.field like "*" + table2.field

选项 2 -- 不知道这叫什么

select *
from table1, table2
where table1.field like "*" + table2.field

【问题讨论】:

【参考方案1】:

它们都是一样的。对于这种类型的通配符条件,您基本上必须进行嵌套循环连接。嵌套循环连接执行笛卡尔积并过滤结果。

但是,我更喜欢第一个选项,因为明确说明要连接的内容通常会使查询更易于阅读、理解和维护。

【讨论】:

以上是关于MS Access - 通配符加入与无加入过滤的主要内容,如果未能解决你的问题,请参考以下文章

MS Access SQL 中的通配符

MS Access 07 - JOIN 查询中的通配符

MS Access 内连接不精确匹配(通配符或类似)

在 REPLACE 函数中使用通配符的 MS Access

如何使用 C# 在 MS-Access 中的查询中使用带有通配符的 LIKE 运算符

加入时如何不使用通配符避免列名重复