SQL

SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)

总的来说,四种JOIN的使用/区别可以描述为:

left join 会从左表(shop)那里返回所有的记录,即使在右表(sale_detail)中没有匹配的行。

right outer join 右连接,返回右表中的所有记录,即使在左表中没有记录与它匹配

full outer join 全连接,返回左右表中的所有记录

在表中存在至少一个匹配时,inner join 返回行。 关键字inner可省略。

具体可以看stackoverflow上,Difference between Inner Join & Full join这个问题,说得蛮清楚的,我就搬运一下这个问题的答案好了。 继续阅读

SQL的GROUP BY和HAVING使用

group by 之后是返回汇总的信息
但还可以对这些信息使用聚合函数

select 
    user_id, count(distinct brand_id) as total
group by
    user_id

则可以返回user_id所购买的不同品牌的数据

待更新