Oracle left join

本文通过具体案例展示了如何使用SQL的LEFT JOIN进行多表连接,包括ON和WHERE子句的应用,以及如何从多个表中选择特定字段进行聚合运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

left join可以连接两表数据 可以用on 和 where 连接两表数据

 

             select tp.processname,
                    tp.nodename,
                    tp.plantime,
                    tk.maxtime,
                    tk.mintime,
                    tk.avgtime
               from (SELECT DISTINCT t1.processname,
                                     t4.nodename,
                                     to_char(t3.day / 3600 / 24,
                                             '9999999990.99') AS plantime
                       FROM losd_process  t1,
                            losi_taskplan t2,
                            losi_itemplan t3,
                            losd_node     t4
                      WHERE t1.process_id = t2.task_id
                        AND t2.board_id = t3.board_id
                        AND t1.process_id = t4.process_id
                        AND t4.node_id = t3.element_id
                        AND t4.nodetype = 2
                        AND t3.elementtype = 1) tp
               left join (select s.nodename,
                                 s.processname,
                                 to_char(max(s.time), '9999999990.99') maxtime,
                                 to_char(min(s.time), '9999999990.99') mintime,
                                 to_char(avg(s.time), '9999999990.99') avgtime
                            from (select (t.finishtime - t.receivetime) as time,
                                         n.nodename,
                                         p.processname
                                    from losi_token   t,
                                         losd_node    n,
                                         losd_process p
                                   where t.nodetype = 2
                                     and t.node_id = n.node_id
                                     and n.process_id = p.process_id
                                     and t.finishtime is not null) s
                           group by s.nodename, s.processname) tk
                 on (tp.processname = tk.processname and
                    tp.nodename = tk.nodename)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值