0

我遇到了一些问题,我不知道我正在做的事情是对的……还是致命的错误。

我正在使用外连接概念。就我而言,他们三个都是这样。当我输入查询时,我得到 50% 的可视值和 50% 的空值。得到这个是正常的还是我的查询是错误的。我向您展示了我正在使用的几个示例。

查询 1. 我要做的是获取员工的姓名和他们工作的商店的地址。

select m.naam, w.adres, w.winkel_nummer
from medewerkers m, winkel w
where m.naam(+)= w.adres;

结果: 在此处输入图像描述

查询 2. 我想获取所有电话号码。在这种情况下,它来自员工和成员。

select s.telefoon_nummer, l.telefoon_nummer
from medewerkers s
full outer join lid l on s.telefoon_nummer = l.telefoon_nummer;

结果: 在此处输入图像描述

//注意:使用完整的外部连接,我无法显示整个画面

两个结果的问题是“它们没有结合”。这是否意味着我正在编写错误的查询或者这是否正常?

我希望我的问题不是太含糊。我在网上找不到解决方案

提前致谢

4

1 回答 1

2

对于#1,看起来你在找错树了……为什么要将员工姓名加入地址?这是没有意义的。

select m.naam, w.adres, w.winkel_nummer
from medewerkers m, winkel w
where m.STOREKEYFIELD(+)= w.STOREKEYFIELD;

您必须将存储表的键上的两个表连接起来,才能从那里得到任何有意义的东西。

对于 #2,如果您只想要 2 个表中电话号码的完整列表,请使用 UNION:

select s.telefoon_nummer
from medewerkers s
union
select  l.telefoon_nummer
from lid l

除非您只期望两个表中匹配的内容,否则无需加入任何内容。

于 2015-04-01T20:07:32.627 回答