大数据计算服务(MaxCompute, 原ODPS) 中的用户基本信息表dim_user和扩展信息表dim user ext都有一个整型字段user_id, 业务上该字段没有重复记录,且每个user_ id 都标识唯一一条用户记录。开发人员希望结果中只出现dim_user中的用户记录,如果表dim_ user_ext 中有对应的用户扩展信息则补充到结果中来,通过SQL语句____可以实现该需求。
问题1选项
A.使用全关联: select t1* t2* from dim_user t1 full outer join dim_user_ext2 on t1.user_id=t2.user_id;
B.使用内关联: select t1* t2*from dim_user t1 join dim_user_ext t2 on t1.user_id=t2.user_id;
C.使用左关联: select t1* t2* from dim_user t1 left join dim_user_ext t2 on t1.user_id=t2.user_id;
D.使用右关联: select t1* t2* from dim _user t1 right join dim_user_ext t2 on t1.user_id=t2.user_id;
根据题目需求:结果中只出现dim_user中的用户记录,如果表dim_ user_ext 中有对应的用户扩展信息则补充到结果中来:
inner join 是指两张表同时存在的交集,关联不上会造成dim_user数据丢失;
Left join 以左表为主表,展示主表所有数据,如果右表有对应user_id,会把数据关联展示,如果不存在会展示为空,且该字段没有重复不会出现膨胀情况;
Right join同B正好互斥,展示的是dim user ext的所有数据;
Full join 全连接,返回左右表中的所有记录