每日Leetcode—SQL(4)

182. 查找重复的电子邮箱

表Person

返回结果

方法一:

select Email
from Person
group by Email
having count(Email)>1    #where 关键字无法与聚合函数一起使用,故使用having

分析:该方法使用聚合函数,利用having查找Email大于1的值。

方法二:

select distinct p1.Email
from Person p1, Person p2
where p1.Id != p2.Id and p1.Email = p2.Email

分析:该方法直接将两个表内连接后,用where限定Id不相等及Email相等的数据。该方法用时较短。

183. 从不订购的客户

表Customer

表Orders

结果

方法:

select Name Customers
from Customers c left join Orders o
on o.CustomerId = c.Id
where o.CustomerId is null

分析:使用left join,没有订购的客户在o.CustomerId为空。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容