gpt4 book ai didi

Access 中的 SQL 帮助 – 查找数据缺失

转载 作者:行者123 更新时间:2023-12-02 06:26:09 26 4
gpt4 key购买 nike

我正在尝试找到最快的方法来查找父表中没有子表中某些记录的所有记录。例如,我希望查询返回所有没有男孩或根本没有 child 的家庭记录。

例子1

这太慢了:

从家庭中选择 *
WHERE Families.FamilyID NOT IN(SELECT FamilyID FROM Children WHERE Children.Gender="m")

例子2

这样更快:

从家庭中选择 *
WHERE NOT EXISTS(SELECT * FROM Children WHERE Children.Gender="m"AND Children.FamilyID = Families.FamilyID)

示例 3

这是最快的,但我担心投资它,因为我找不到任何关于它的文档。我什至不知道它叫什么。由于缺乏更好的术语,我们一直称其为“匿名查询”。

从家庭中选择 *
左连接
[SELECT * FROM Children WHERE Gender="m"]. AS AliasChildrenON Families.FamilyID=AliasChildren.FamilyID
其中 AliasChildren.FamilyID 为 NULL

所以我的问题是:

  1. 示例 3 中的这个东西叫什么?
  2. 它是 Access 的“主流”功能吗?将来会得到支持吗?
  3. 我在哪里可以找到关于它(一旦我知道它叫什么,这可能会更容易)?

谢谢!

最佳答案

示例 3 称为派生表,但您可以将查询简化为:

SELECT * FROM Families
LEFT JOIN
Children ON Families.FamilyID = Children.FamilyID AND Children.Gender="m"
WHERE Children.FamilyID IS NULL

关于Access 中的 SQL 帮助 – 查找数据缺失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com