数据库每日一题 --- 第 15 天:未消费的顾客
一、问题描述
表:Visits
复制代码
表:Transactions
复制代码
有一些顾客可能光顾了购物中心但没有进行交易。请你编写一个 SQL
查询,来查找这些顾客的 ID
,以及他们只光顾不交易的次数。
返回以 任何顺序 排序的结果表。
查询结果格式如下例所示。
题目链接:未消费的顾客
二、题目要求
样例
复制代码
考察
复制代码
三、问题分析
这一题可以使用左外连接,常用的如下:
A inner join B:内连接,取交集
A left join B:左外连接,取 A 全部,B 没有对应的值,则为
null
A right join B:右外连接,取 B 全部,A 没有对应的值,则为
null
A full outer join B:全外连接,取并集,彼此没有对应的值为
null
我们使用左外连接获取的表如下:
复制代码
这样就很好判断了,左外连接之后对于右侧为空的数据计数,最后聚合分组一下,这一题就解决了。
四、编码实现
复制代码
五、测试结果
版权声明: 本文为 InfoQ 作者【知心宝贝】的原创文章。
原文链接:【http://xie.infoq.cn/article/a8674bfe11441e8f90c562f87】。文章转载请联系作者。
评论