Oracle中left join、right join、full join应用场景

一、提出问题:三个表分别存不同属性,一条sql查询各个公司的不同的属性

(1) 提供的三个表,相同的维度【company】

Oracle中left join、right join、full join应用场景Oracle中left join、right join、full join应用场景Oracle中left join、right join、full join应用场景

 

(2) 需要的结果:

Oracle中left join、right join、full join应用场景

 

 

二、问题解析:可通过先查出所有公司再左连接三个表,或者使用full join

(1) 普通思路:先查出所有公司(需要去重,因为同一个公司可存在于三个表)t表为主表只有一个字段company,left join a、b、c表

 

Oracle中left join、right join、full join应用场景

 

 

 得出查询结果:

Oracle中left join、right join、full join应用场景

 (2) 全连接方法:注意company列,三重判断否则无法全部显示

Oracle中left join、right join、full join应用场景

 

 

 同样得出查询结果:

Oracle中left join、right join、full join应用场景

 

 

 (3) 全连接方法2:先连接一个表组成新表后再连接第三个表:

Oracle中left join、right join、full join应用场景

本例子只有一个共同维度(company),在实际应用中可能不止一个,比如共同维度是(日期+省份+城市+区(县))等,多个分组统计之后的数据再次整合,处理时就稍微复杂,但原理一样。

 

 

 

 

 

 

 

 

 

Oracle中left join、right join、full join应用场景

 

上一篇:Installation did not succeed. The application could not be installed:


下一篇:多文件zip解压