在MySQL中为多个表选择查询

在MySQL中为多个表选择查询,mysql,select,join,Mysql,Select,Join,我在MySQL中工作,必须编写一个select查询 我有四个表中的相关数据。现在,父表可能有其子数据可能不在下表中的数据 我想编写一个查询来从所有四个表中获取数据,而不管数据是否存在于子表中 我试着像下面那样编写嵌套的select和join,但是我没有得到数据 select * from property p where p.Re_ID in (select Re_id from entry e where e.Re_ID in (select Re_id from categor

我在MySQL中工作,必须编写一个select查询

我有四个表中的相关数据。现在,父表可能有其子数据可能不在下表中的数据

我想编写一个查询来从所有四个表中获取数据,而不管数据是否存在于子表中

我试着像下面那样编写嵌套的select和join,但是我没有得到数据

select * from property p where p.Re_ID in 
  (select Re_id from entry e where e.Re_ID in
    (select Re_id from category c where c.Re_ID in
      (select id from re)))

请帮助我如何从所有4个表中获取数据。

您可能需要UNION?比如:

Select * FROM cir_registry
Union
Select * FROM cir_entry
Union
Select * FROM cir_property

检查这里的官方文档:

如果
cir_注册表
是主表,您可以从中选择,然后
按距离
cir_注册表
的顺序左键联接其他表

SELECT r.ID rId, r.Description rDescription, c.ID cId ...
       ...
       p.Data_Type pDataType 
FROM cir_registry r
LEFT JOIN cir_category c ON c.Registry_ID = r.ID
LEFT JOIN cir_entry    e ON e.Category_ID = c.ID
LEFT JOIN cir_property p ON p.Entry_IDInSource = e.IDInSource

您还应该如上所述对列进行别名,否则,例如,
p.ID
c.ID
都将在结果集中显示为
ID
,并且您只能访问其中一列。

请将表结构与示例数据和预期输出一起发布。我猜
cir\u registry
是主表,但是你应该说清楚,因为我在所有表中的列数都不一样,所以不能执行并集