簡體   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