基本上我想显示我所有 5 个表中的所有行,除了一个。
下面是关系
- A 连接到 B
- B与C相连
- C与D相连
- B与E相连
我想根据我提到的关系从除 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 不支持完全外连接