MS Access - 不匹配的查询向导

在Access中,还有另一个非常有用的向导,即查找不匹配的查询向导.查找不匹配的查询向导创建一个查询,在一个表中查找另一个表中没有相关记录的记录或行.

我们已经讨论了数据如何在查询中连接在一起,以及如何大多数查询都在寻找两个或多个表之间的匹配.

Matched

  • 这是Access中的默认连接,例如,如果我们设计一个包含两个表的查询, tblCustomers tblOrders ,并通过CustomerID连接这两个表,此查询将仅返回匹配的结果.换句话说,已经下订单的客户.

  • 有时候我们不想看比赛,例如,我们可能不想要在我们的数据库中查看任何客户 - 尚未下订单的客户.

未放置订单

  • 这正是查找不匹配的查询所做的.

此类查询还有许多其他可能的用途.

在我们的数据库中,我们可以用它来查看哪些作者有尚未编写项目或您可以使用它来查看哪些员工尚未选择任何健康福利.现在让我们打开您的数据库,其中包含客户订单表;转到"创建"选项卡,然后单击查询向导按钮.

选择查找不匹配的查询向导,然后单击确定.

无与伦比

在这种情况下,我们会留意那些拥有的客户没下订单.在第一个屏幕中,它询问哪个表或查询包含您在查询结果中所需的记录.

我们现在需要 tblCustomers 中的客户列表.选择该选项并单击下一步.

Customers Table

在以下屏幕中,您需要指定哪个表或查询包含相关记录.换句话说,您使用什么表与第一个表进行比较.为此,我们需要找到没有下订单的那些.我们需要选择包含所有订单信息的表格 -   tblOrders .现在,点击下一步.

TblOrders

在以下屏幕中,您需要指定两个表中的哪一条信息.

  • 这通常是某种主要信息密钥,外键,字段或关系.

  • 如果您的数据库中存在现有关系,Access将为您选择并匹配这些字段.

  • 但是,如果你有其他字段可以加入,包含类似的信息,你也可以在这里选择.

在这里,我们有默认情况下,在'tblCustomers'中的Fields和'tblOrders'中的Fields中选择CustID.现在,点击下一步.

CustID

在以下屏幕中,您可以选择要在查询结果中显示的字段.

选定的文件

现在让我们选择所有可用的字段,然后单击双向箭头.这会将所有可用字段移动到所选字段区域.现在,点击下一步.

First Order

最后一个屏幕允许您选择查询的名称,然后单击完成.

无匹配

此处我们有一位客户列为该客户尚未向我们下订单.

客户列出

您还可以查看该查询是如何创建的.为此,您需要返回设计视图.

是否为空

此向导在tblCustomer和tblOrders之间创建了外部联接,并且 Is Null 条件从tblORders添加到CustID.这是为了排除某些记录.在这种情况下,是订购者或在tblOrders中拥有相关信息的客户.