Sql 我们可以使用右外连接得到左外连接的结果吗

Sql 我们可以使用右外连接得到左外连接的结果吗,sql,join,Sql,Join,我们可以使用右外部联接获得左外部联接的结果吗?是的,您可以这样做。右(外部)联接相当于左(外部)联接,表的位置已切换 因此,以下查询: SELECT * FROM table1 t1 LEFT JOIN table2 t2 ON t1.col = t2.col 相当于 SELECT * FROM table2 t2 RIGHT JOIN table1 t1 ON t1.col = t2.col 是的,你能做到。右(外部)联接相当于左(外部)联接,表的位置已切换 因此,以下查询

我们可以使用右外部联接获得左外部联接的结果吗?

是的,您可以这样做。右(外部)联接相当于左(外部)联接,表的位置已切换

因此,以下查询:

SELECT *
FROM table1 t1
LEFT JOIN table2 t2
    ON t1.col = t2.col
相当于

SELECT *
FROM table2 t2
RIGHT JOIN table1 t1
    ON t1.col = t2.col

是的,你能做到。右(外部)联接相当于左(外部)联接,表的位置已切换

因此,以下查询:

SELECT *
FROM table1 t1
LEFT JOIN table2 t2
    ON t1.col = t2.col
相当于

SELECT *
FROM table2 t2
RIGHT JOIN table1 t1
    ON t1.col = t2.col

当然,通过交换已经说过的表位置,您可以。我会追问为什么?使用正确的外部联接有很好的理由,但它们是不寻常的。当然,通过交换表位置(如前所述),您可以。我会追问为什么?使用右外部联接有很好的理由,但它们是不寻常的。我通常建议使用左联接而不是右联接,因为更容易理解
主表左联接可选数据
而不是
可选数据右联接主表
@jarlh我同意你的看法。我想评论一下为什么现在左连接似乎比右连接更受欢迎,但没有任何具体的文档说明。我通常推荐左连接而不是右连接,因为
main table left join可选数据
optional data right join main table
@jarlh更容易理解,所以我同意你的看法。我想评论一下为什么现在左连接似乎比右连接更受欢迎,但没有任何具体的文档。