2

A、B、C の 3 つのテーブルがあるとします。
テーブル A とテーブル B で Join を行いましたが、結果 AB とテーブル c で Join を実行したいと考えました。
ビューを作成してから結合する必要がありますか、それともネストされたクエリで行う必要がありますか?

4

3 に答える 3

7

どのDBを使用しているかは言わないので、構文が間違っている可能性がありますが、複数テーブルの結合は、実際には2つのテーブルの結合と何ら変わりはありません:

SELECT ...
FROM a
JOIN b ON ...
JOIN c ON ...
JOIN d ON ...
于 2012-10-31T04:45:32.010 に答える
4

いいえ、次のようにします

SELECT  *
FROM    A [INNER/LEFT/RIGHT/OUTER] JOIN
        B   ON  [a/b].IDCols = [a/b].IDCols [INNER/LEFT/RIGHT/OUTER] JOIN
        C   ON  [a/b/c].IDCols = [a/b/c].IDCols

特定の結合 (INNER/LEFT/RIGT/OUTER) は、要件によって異なります。

概要については、JOIN の紹介 – JOIN の基本を参照してください。

の基準はJOIN ON、テーブルが互いにどのように関連しているかによっても異なります。

于 2012-10-31T04:45:47.113 に答える
0

次のようなものを使用できます。

select *
from A, B, C
where A.id = B.id
and A.id = C.id

または、次のようなものを使用できます。

select *
from A INNER JOIN B ON (A.id = B.id)
       INNER JOIN C ON (A.id = C.id)

どのように結合するかは、もちろん、テーブルが互いにどのように関連しているかによって異なります。そのため、A、B、C の主キーと外部キーは何でしょうか。データによっては、INNER JOIN の代わりに OUTER JOIN を使用することもできます。

于 2016-02-14T09:23:54.803 に答える