📅  最后修改于: 2020-11-20 05:30:53             🧑  作者: Mango
在Access中,还有另一个非常有用的向导,即“查找不匹配的查询向导” 。查找不匹配的查询向导将创建一个查询,该查询在一个表中查找在另一表中没有相关记录的记录或行。
正如我们已经讨论的那样,数据如何在查询中结合在一起,以及大多数查询如何在两个或多个表之间寻找匹配项。
这是Access中的默认联接,例如,如果我们设计一个包含两个表tblCustomers和tblOrders的查询,并通过CustomerID将这两个表联接,则该查询将仅返回匹配的结果。换句话说,已下订单的客户。
有时候,我们不想看到匹配项,例如,我们可能不想看到数据库中的任何客户,即尚未下订单的客户。
这种查询还有许多其他可能的用途。
在我们的数据库中,我们可以使用它查看哪些作者尚未编写项目,或者您可以使用它查看哪些员工尚未选择任何健康福利。现在让我们打开您的包含“客户和订单”表的数据库;转到“创建”标签,然后单击查询向导按钮。
选择查找不匹配的查询向导,然后单击确定。
在这种情况下,我们将寻找那些尚未下订单的客户。在第一个屏幕中,它询问哪个表或查询包含您想要的查询结果中的记录。
现在,我们需要tblCustomers的客户列表。选择该选项,然后单击“下一步” 。
在以下屏幕中,您需要指定哪个表或查询包含相关记录。换句话说,您使用哪个表与第一个表进行比较。为此,我们需要查找尚未下订单的产品。我们需要选择包含所有订单信息的表tblOrders 。现在,单击“下一步” 。
在以下屏幕中,您需要指定两个表中都包含哪些信息。
在这里,我们默认在“ tblCustomers”的“字段”和“ tblOrders”的“字段”中都选择了CustID。现在,单击“下一步” 。
在以下屏幕中,您可以选择要在查询结果中显示的字段。
现在让我们选择所有可用字段,然后单击双向箭头。这会将所有可用字段移到所选字段区域。现在,单击“下一步” 。
最后一个屏幕将允许您选择查询的名称,然后单击Finish 。
在这里,我们列出了一位尚未向我们下订单的客户。
您还可以查看该查询的创建方式。为此,您需要返回到“设计视图” 。
此向导已在tblCustomer和tblOrders之间创建了外部联接,并且将Is Null条件从tblORders添加到CustID。这是为了排除某些记录。在这种情况下,是下订单的客户或tblOrders中具有相关信息的客户。