182. 查找重复的电子邮箱
方法一:
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. 从不订购的客户
方法:
select Name Customers
from Customers c left join Orders o
on o.CustomerId = c.Id
where o.CustomerId is null
分析:使用left join,没有订购的客户在o.CustomerId为空。