Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用左外联接从多个选项卡获取数据_Sql_Join - Fatal编程技术网

Sql 使用左外联接从多个选项卡获取数据

Sql 使用左外联接从多个选项卡获取数据,sql,join,Sql,Join,我有4张桌子,A、B、C、D A存储我的客户Id,B,C存储客户的各种详细信息。 例如,B店教育,C店职业,D店兴趣 现在,客户可能在C、D中没有条目,或者可能在B和D中有条目,但在C中没有条目 我想通过连接所有四个表来选择所有信息。四个表中都有客户id。内部连接显然不起作用 我在考虑左外连接。有人能帮我一下吗。左外部联接只会得到A:B列匹配或B:C列匹配的行,如果您想将表C、D中某些行的值保留为空白,您可以先做一个 左外连接A和B,然后与C和D进行完全的外连接,这样,如果C和D中有值或没有值,

我有4张桌子,A、B、C、D

A存储我的客户Id,B,C存储客户的各种详细信息。 例如,B店教育,C店职业,D店兴趣

现在,客户可能在C、D中没有条目,或者可能在B和D中有条目,但在C中没有条目

我想通过连接所有四个表来选择所有信息。四个表中都有客户id。内部连接显然不起作用


我在考虑左外连接。有人能帮我一下吗。

左外部联接只会得到A:B列匹配或B:C列匹配的行,如果您想将表C、D中某些行的值保留为空白,您可以先做一个 左外连接A和B,然后与C和D进行完全的外连接,这样,如果C和D中有值或没有值,u将能够保持C和D中的所有数据不匹配

我是这样想的:

 SELECT a.store, b.education, d.storeinterest FROM 

 (
 SELECT * FROM A
 LEFT OUTER JOIN B
 ON A = B
 ) A

 FULL OUTER JOIN  C
  ON  A = C 

 FULL OUTER JOIN D
  ON A= D

应该从以下几方面着手:

SELECT a.*, b.*, c.*, d.*
FROM a LEFT OUTER JOIN b on
a.customer_id = b.customer_id LEFT OUTER JOIN  c
on a.customer_id  = c.customer_id LEFT OUTER JOIN d
on a.customer_id = d.customer_id 

左外连接
似乎是正确的选择;您(左外)在
Customer\u id
上加入,在找不到匹配数据的行中,该表中的值将为
NULL