📜  门| GATE CS 2018 |问题 29

📅  最后修改于: 2021-09-27 06:10:54             🧑  作者: Mango

考虑以下两个表和 SQL 中的四个查询。

书籍( isbn , bname ),股票( isbn ,副本)

查询 1:

SELECT B.isbn, S.copies
FROM Book B INNER JOIN Stock S
ON B.isbn = S.isbn;

查询 2:

SELECT B.isbn, S.copies
FROM B B LEFT OUTER JOIN Stock S
ON B.isbn = S.isbn;

查询 3:

SELECT B.isbn, S.copies
FROM Book B RIGHT OUTER JOIN Stock S
ON B.isbn = S.isbn;

查询 4:

SELECT B.isbn, S.copies
FROM B B FULL OUTER JOIN Stock S
ON B.isbn = S.isbn;

上面哪一个查询的输出肯定是其他三个查询的输出的超集?
(一)查询 1
(B)查询 2
(C)查询 3
(D)查询 4答案: (D)
说明:在 SQL 中, FULL OUTER JOIN结合了左右外部连接的结果,并从连接子句两侧的表中返回所有(匹配或不匹配)行。

所以,选项(D)是正确的。

请参阅:加入(内、左、右和完全联接)、内联接与外联接
这个问题的测验