繁体   English   中英

无法想到以下数据库的OUTER JOIN查询

[英]Can't think of an OUTER JOIN query for the following database

我有以下数据库计划,并且正在努力使用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
);
SELECT *
FROM            speler s
LEFT OUTER JOIN club   c ON c.cl_id=s.cl_id

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM