【发布时间】:2023-03-18 01:12:02
【问题描述】:
我正在使用 Mysql。
我有表 A(ida) 和表 B(idb) 和一个交叉引用表 CR(ida, idb)。
我想在查询中捕获A 和B 之间的关系(基本上是CR),但我还想要来自A 和B 的所有行在@ 中没有关系987654329@。要得到这样的东西:
ida | idb
=========
X | nul
Y | 1
nul | 2
我试过了:
select * from
A
left join CR on (...)
right join B on (...)
这样我从B 获取所有行,但不是从A 获取所有行。
如果我这样做A left join CR left join B,我会从A 获得所有信息,但不是从B 获得所有信息。这是预期的。但我不明白为什么 right join 在前一种情况下会掩盖 left join。我还使用大括号来尝试强制连接中的某些优先级,但结果是一样的。
【问题讨论】:
标签: mysql sql join full-outer-join