我有以下数据库计划,并且正在努力使用OUTER JOIN创建查询。 我是否有适合应用外部联接的计划?

我尝试了很多事情,但是主要显示出与INNER JOIN相同的结果。

CREATE TABLE CLUB(
cl_id       INT     PRIMARY KEY     NOT NULL,
naam        TEXT                    NOT NULL,
adres       VARCHAR(200)                NOT NULL,
dtm_opricht         TEXT                    NOT NULL
);


CREATE TABLE STADION(
sta_id      INT     PRIMARY KEY     NOT NULL,
cl_id       INT     REFERENCES CLUB(cl_id),
naam        TEXT                    NOT NULL,
adres       VARCHAR(200)                NOT NULL,
capaciteit          INT                 NOT NULL,
dtm_bouw            TEXT                    NOT NULL
);


CREATE TABLE HOOFDTRAINER(
ht_id       INT     PRIMARY KEY     NOT NULL,
cl_id       INT     REFERENCES CLUB(cl_id),
naam        TEXT                    NOT NULL,
adres       VARCHAR(200)                NOT NULL,
salaris     REAL                    NOT NULL,
nationaliteit   TEXT                    NOT NULL,
geslacht            TEXT                    NOT NULL,
dtm_geboorte        TEXT                    NOT NULL
);

CREATE TABLE ASSISTENTTRAINER(
at_id       INT     PRIMARY KEY     NOT NULL,
cl_id       INT     REFERENCES CLUB(cl_id),
ht_id       INT     REFERENCES HOOFDTRAINER(ht_id),
naam        TEXT                    NOT NULL,
adres       VARCHAR(200)                NOT NULL,
salaris     REAL                    NOT NULL,
nationaliteit   TEXT                    NOT NULL,
geslacht            TEXT                    NOT NULL,
dtm_geboorte        TEXT                    NOT NULL
);

CREATE TABLE SPELER(
sp_id       INT     PRIMARY KEY     NOT NULL,
cl_id       INT     REFERENCES CLUB(cl_id),
ht_id       INT     REFERENCES HOOFDTRAINER(ht_id),
naam        TEXT                    NOT NULL,
adres       VARCHAR(200)                NOT NULL,
salaris     REAL                    NOT NULL,
nationaliteit   TEXT                    NOT NULL,
geslacht            TEXT                    NOT NULL,
dtm_geboorte        TEXT                    NOT NULL,
positie     TEXT                    NOT NULL,
rugnummer           INT                 NOT NULL
);

===============>>#1 票数:0

SELECT *
FROM            speler s
LEFT OUTER JOIN club   c ON c.cl_id=s.cl_id

您拥有的大多数引用列都是可为空的(1到0-1关系),因此LEFT JOIN对于获取引用数据(如果存在)很有用,而不会丢失引用数据。

  ask by user259191 translate from so

未解决问题?本站智能推荐:

3回复

SQL查询帮助OUTER JOIN?

我有两张这样的桌子。 表格1 表2 我想加入他们,所以我会有类似的东西 问题是并非所有代码都存在于两个表中,所以如果其中一个表中没有代码,那么它的值应为null。最后我想要这样的东西 我认为不可能使用LEFT或RIGHT JOIN ..或者它可能是.....
2回复

外部联接的以下用法是否正确,因为数据未正确获取

您好,我在表格中有以下数据现有数据通过以下查询,我只会得到普通凭单输出 但是我还需要没有凭证的行,该凭证具有相应的-ve(它基本上是已售出的凭证并已兑换了凭证)。 因此,仅售出和兑换了一张优惠券,还有一张尚未兑换。 我如何恢复尚未兑换的行。
4回复

为什么NVL()在以下外部join(+)中不起作用?

我试图外部连接两个表,并且当“全名”列中显示空值时,将其替换为“无人”。 外部联接工作正常, 问题是空值仍然为空,而不是“无人”。 以下是我的代码。 以下是结果的屏幕截图。 感谢您的光临!
2回复

如何对两个复杂的SQL查询执行OUTER JOIN?

我有两个相对复杂的查询,试图将它们合并到一个结果集中。 结果集1: 结果集2: 我需要在question_id匹配的行上加入它们。 请帮忙。
5回复

SQL Server 2005 RIGHT OUTER JOIN无法正常工作

我正在查找特定课程的访问日志。 我需要显示所有课程,即使它们不存在于日志表中。 因此,外连接....但试图(大概)所有的变化之后LEFT OUTER , RIGHT OUTER , INNER和SQL代码中的表的位置,我不能让我的结果。 这是我正在运行的: WHERE子句中的某
1回复

带有过滤数据的FULL OUTER JOIN

我似乎在如何最好地解决这一要求方面遇到了一些困境。 我意识到这个问题与以下其他问题密切相关: Full Outer Join的问题无法按预期工作 将过滤条件添加到外部联接而不是where子句时有什么区别? Oracle外连接未按预期工作 可能还有更多.....
1回复

使用外部联接的SQL查询?

我有以下关系: 我想列出2014年6月之前加入公司但在2014年6月没有通过某种形式的外部加入获得佣金的所有员工。 我想出了这个查询,但它不起作用。 有人可以告诉我如何查询吗?
3回复

带有子查询语法的LEFT OUTER JOIN

我正在通过GalaXQL教程学习SQL。 我不知道以下问题(练习12): 生成一个恒星ID小于100的恒星列表,其中包含“ starname”,“ startemp”,“ planetname”和“ planettemp”列。 该列表应包含所有星星,未知数据用NULL填充。
3回复

如何用等效的LEFT OUTER JOIN替换复杂的SQL MINUS查询

试图弄清楚如何用等效的左外部联接替换以下内容: 无法执行“ NOT IN”,因为第二个查询的数据太多。
4回复

Oracle RIGHT OUTER JOIN无法正常工作?

好的,可以说我有两个表:Table1 [行:id,数字,名称],Table2 [行:数字,描述]。 我想查询Table1,以得出Table1.num = Table2.num的所有行的ID。 所以我写: /表2只有一条记录,如下所示:Num = 123,Description ='A