0

与えられた 3 つのテーブル a :{id, name_eng}, b: {id, name_spa} and c: {id, name_ita} これは、この与えられたものと同等の「製品デカルト クエリ」です。

select
    a.name_eng
    b.name_spa
    c.name_ita
from
    a inner join b on a.id = b.id
    left outer join c on a.id = c.id
4

1 に答える 1

1

あなたが何を望んでいるのかわかりません。デカルト積は次のようになります。

SELECT  a.name_eng
        b.name_spa
        c.name_ita
FROM a
CROSS JOIN b
CROSS JOIN c

または暗黙の方法:

SELECT  a.name_eng
        b.name_spa
        c.name_ita
FROM a,b,c

以前のクエリをデカルト積で記述したい場合 (なぜ??)、次のようにする必要があります (SQL Server 2000 の場合)。

SELECT  a.name_eng
        b.name_spa
        c.name_ita
FROM a,b,c
WHERE a.id = b.id 
AND a.id *= c.id

「なぜ??」が十分に明確でない場合は、非推奨であるため、暗黙的な結合を使用しないでください。常に適切な明示的な結合を使用する必要があります。

于 2013-04-10T17:41:04.140 に答える