2

ALLOCATION テーブルの行から呼び出されていない場合でも、AUTHOR テーブルの行を表示するには、次のコードが必要です。現在、コードは適切な外部キー データを持つすべての ALLOCATION 行を示しています。対応する ALLOCATION 行がない場合でも、AUTHOR テーブルのすべての行が表示されるようにする必要があります。

SELECT authid,sname,fname,B.bid
FROM ALLOCATION A
INNER JOIN BOOK B
ON A.bid = B.bid
INNER JOIN AUTHOR U
ON A.authid = U.authid
ORDER BY authid;

つまり、AUTHOR テーブルの行の一部は、ALLOCATION テーブルの行の 0 の外部キーです。SELECTにも表示する必要があります。authid、sname、および fname は、AUTHOR テーブルの列です。

4

2 に答える 2

3

外部結合と呼ばれるものを使用したいとします。

の代わりに、方向に応じて、またはINNERと言います。LEFT OUTERRIGHT OUTER

これが行うことは、他のテーブルに対応するレコードがない場合、列が null で埋められることです。

于 2012-04-24T18:16:49.753 に答える
3
select authid,
    sname,
    fname,
    B.bid
from AUTHOR U
left outer join ALLOCATION A on A.authid = U.authid
left outer join BOOK B on A.bid = B.bid
order by authid
于 2012-04-24T18:17:13.670 に答える