Sql Microsoft Access查询-不返回所有数据

Sql Microsoft Access查询-不返回所有数据,sql,ms-access,Sql,Ms Access,假设我有以下表格: 表1:FLP、FNAME、LNAME 表2:FLP、工作、公司、地点 表3:FLP、地位、工资、职位 所有这些都通过FLP连接在一起 当我试图查询以获取所有表中的所有字段时,假设我的查询如下 Select * From Table1, Table2, Table3 Where Table1.FLP = Table2.FLP AND Table1.FLP = Table3.FLP 但是,假设其中一个表不包含信息,或者记录因此没有FLP 例如:如果我插入表1johndoe1

假设我有以下表格:

  • 表1:FLP、FNAME、LNAME
  • 表2:FLP、工作、公司、地点
  • 表3:FLP、地位、工资、职位
所有这些都通过FLP连接在一起

当我试图查询以获取所有表中的所有字段时,假设我的查询如下

Select *
From Table1, Table2, Table3
Where Table1.FLP = Table2.FLP AND Table1.FLP = Table3.FLP
但是,假设其中一个表不包含信息,或者记录因此没有FLP

例如:如果我插入表1
johndoe1,john,doe

并进入表2
johndoe1,开发者,公司,美国

但没有在表3中插入任何内容,因为信息是可选的

我的查询将无法获取结果,因为它将在
Table1.FLP=Table3.FLP

有时
表2
不包含任何信息

如果我尝试我的问题如下

Select *
From Table1, Table2, Table3
Where Table1.FLP = Table2.FLP OR Table1.FLP = Table3.FLP
然后,它将获取所有结果,但将它们混合在一起,例如,johndoe1将从表3中获取不等于johndoe1的信息,从而创建具有不同值的多个结果


如果需要更多解释或实际表格设计,请告诉我。

您应该使用左连接:

Select * From Table1 LEFT JOIN Table2 ON Table1.FLP = Table2.FLP LEFT JOIN Table3 ON Table1.FLP = Table3.FLP;
每当右表中没有匹配的元素时,这将为您提供一个空条目


请参阅:

欢迎使用StackOverflow:如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!感谢您的帮助,在您给我这个答案之前,我正在尝试使用left outer join,但是您的答案ss给了我一个语法错误,查询表达式中缺少运算符。我认为这是在同一个语句中有多个联接的情况好吧,我设法修复了它,它与Microsoft Access有关。它应该如下所示:从((表1)表1上的左联接表2.FLP=表2.FLP)表1上的左联接表3.FLP=表3.FLP;感谢@ShoeDah7