基本的に、1 つを除く 5 つのテーブルすべてからすべての行を表示したいと考えています。
以下、関係
- Bに接続されたA
- B と C が接続されている
- Dと接続されたC
- E に接続された B
私が言及した関係に基づいて、Eを除くすべてのテーブルから行を取得したい
だから私のアプローチは
select some fields
from
( SELECT 5 AS dummy_id) AS dummy_table
right outer join B on dummy_table.dummy_id=B.some_id
right outer join A on A.some_id=B.some_id
right outer join C on C.some_id=B.some_id
inner join E on E.some_id=B.some_id
right outer join D on C.some_id=D.some_id
私の推測は、テーブル名の前に右外部結合を指定したときからです。
例えば
right outer join D
これは、そのテーブルからすべての行を選択していることを意味します。
しかし、ここではダミー テーブルを挿入して、最初のテーブルのすべての行を抽出します。
私のアプローチが正しいか確認したかっただけです.既知のmysqlは完全外部結合をサポートしていないため、キーワード完全外部結合と結合を避けたいからです