考虑以下两个表和 SQL 中的四个查询。
查询 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)是正确的。
请参阅:加入(内、左、右和完全联接)、内联接与外联接
这个问题的测验