(二)
根据我去ebay面试的经历来看,它们比较看重的其实就是left join 的用法,缺失sql里面合并的用法很多,用法也很灵活,大家可以好好看看书上的介绍来理解一下。
简单分下类,join主要分为inner join 以及outer join
理解起来可以看inner join 是把匹配的列都放在一起,而outer join 会把部分不匹配的也放进来,放哪些进来就要看你的语句了;
举个例子来看;
select variable1, variable2 from a, b;
这样出来的是什么呢,这是笛卡尔积,简单来说把variable1中的所有行和variable2中的所有行一一对应,比如说a1,a2,a3 三行,b里面是b1,b2,b3三行,
结果就是a1,b1,a1,b2,a1,b3,a2,b1....变成了3*3九行;
但是,你在后面加上on对条件进行限制,那么这就变成了inner join,也就是只有满足条件的才会被提取,比如说
select variable1, variable2 from a, b on a.variable1=b.variable2; 这样就相当于对笛卡尔积进行了一个筛选;
left join select variable1, variable2 from a left join b on a.variable1=b.variable2; 这里出来的结果,a,variable1的结果都会有, 而variable2的匹配的才会出现;
right join 和上面刚好相反,只有b中的才会全部出现,a中的匹配