如何在SQL中使用多个LEFT JOIN?

cut*_*ute 50 sql join left-join

是否可以在sql查询中使用多个左连接?

    LEFT JOIN
        ab 
    ON
        ab.sht = cd.sht
Run Code Online (Sandbox Code Playgroud)

我想添加一个这样的附加查询吗?它会起作用吗?

    LEFT JOIN
        ab AND aa
    ON
        ab.sht = cd.sht
           AND
        aa.sht = cc.sht
Run Code Online (Sandbox Code Playgroud)

这会有用吗?

bti*_*lly 53

对的,这是可能的.每个连接表需要一个ON.

LEFT JOIN ab
  ON ab.sht = cd.sht
LEFT JOIN aa
  ON aa.sht = cd.sht
Run Code Online (Sandbox Code Playgroud)

顺便提一下,我在http://bentilly.blogspot.com/2011/02/sql-formatting-style.html中描述了我对复杂SQL的个人格式偏好.如果你要写很多这个,它可能会有所帮助.


Dan*_*olo 30

是的,但语法与您的语法不同

SELECT
    <fields>
FROM
    <table1>
    LEFT JOIN <table2>
        ON <criteria for join>
        AND <other criteria for join>
    LEFT JOIN <table3> 
        ON <criteria for join>
        AND <other criteria for join>
Run Code Online (Sandbox Code Playgroud)


Kno*_*ing 10

所需的SQL将是一些像: -

SELECT * FROM cd
LEFT JOIN ab ON ab.sht = cd.sht
LEFT JOIN aa ON aa.sht = cd.sht
....
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.

  • 以这种格式查看 LEFT JOIN,一个接一个地真正使事情变得更清晰。 (2认同)