【问题标题】:Oracle outer join on 3 tables3个表上的Oracle外连接
【发布时间】:2012-10-04 22:14:42
【问题描述】:

如果我有两个表(A 和 B)在 col 'id' 上连接,并且我想从 A 获取所有记录,而不管 B 中的相应记录,我知道我可以做到:

select * from A left outer join B on A.id = B.id;

现在我有 3 张桌子 A、B、C A连接到B,B连接到C。 我想要来自 A 的所有记录,无论 B 或 C 中是否有记录。 那我应该写吗 select * from A left outer join B on A.id = B.id and (....现在我在这里写什么) 即使使用旧语法,我也被卡住了: select * from A,B,C where A.id = B.id(+) and B.id1 = C.id1(+)(不知怎的,这似乎不对)

【问题讨论】:

    标签: sql oracle11g outer-join


    【解决方案1】:
    select * 
    from A 
       left outer join B on A.id = B.id
       left outer join C on C.id = B.id
    

    【讨论】:

    • 谢谢伙计。你能告诉我如何用旧语法写作(仅据我所知)吗?
    • 另外,第二个条件不应该是:左外连接 C on B.id = C.id?
    • @Kaushik:不要使用旧语法。 B.id = C.idC.id = B.id 完全相同,无论您以何种顺序编写 = 条件,都没有区别。
    • @a_horse_with_no_name 先生,您能帮我看看如何在CodeIgniter 中获取此查询吗?任何建议。
    猜你喜欢
    • 2015-06-02
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多