开发者社区 问答 正文

是否需要RIGHT JOIN?

是否存在任何需要RIGHT JOIN的查询,还是可以始终使用LEFT JOIN重写它们?

更具体地说,如何在没有正确的联接的情况下重新编写这一代码(我想隐含地没有任何子查询或其他幻想):

SELECT * FROM t1 LEFT JOIN t2 ON t1.k2 = t2.k2 RIGHT JOIN t3 ON t3.k3 = t2.k3

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 17:56:13 420 分享 版权
1 条回答
写回答
取消 提交回答
  • 您始终只能使用左联接...

    SELECT * FROM t1 LEFT JOIN t2 ON t1.k2 = t2.k2 RIGHT JOIN t3 ON t3.k3 = t2.k3 等价于:

    Select * From t3 Left Join (t1 Left Join t2 On t2.k2 = t1.k2) On T2.k3 = T3.K3 通常,我总是尝试仅使用“左联接”,因为“左联接”中左侧的表是其所有行都包含在输出中的表,我喜欢将其视为(“左侧”)作为“基“设置我要针对...执行笛卡尔乘积(联接),所以我想在SQL中首先使用它。”

    2019-11-18 17:56:31
    赞同 展开评论
问答地址: