力扣数据库题目182查找重复的电子邮箱

力扣数据库题目182查找重复的电子邮箱

题目

编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。

示例:

+—-+———+
| Id | Email |
+—-+———+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
+—-+———+

根据以上输入,你的查询应返回以下结果:

+———+
| Email |
+———+
| a@b.com |
+———+

说明:所有电子邮箱都是小写字母。

来源:力扣(LeetCode

方案一

分组

SELECT email
FROM test.person
GROUP BY email
HAVING count(*) > 1

方案二

where子查询

SELECT DISTINCT email
FROM test.person t
WHERE (SELECT count(*) FROM test.person WHERE email = t.email) > 1

方案三

exists判断

SELECT DISTINCT email
FROM test.person t
WHERE EXISTS(SELECT email FROM test.person WHERE email = t.email AND id <> t.id)

方案四

表连接

SELECT DISTINCT a.email
FROM test.person a
INNER JOIN test.person b ON a.email = b.email AND a.id > b.id

总结

一般情况下查询可以先考虑简单查【标准单表查询】,再考虑子查询【SELECT或WHERE子查询】,最后考虑表连接。基本上表连接可以解决几乎所有SQL问题。

力扣数据库题目182查找重复的电子邮箱

Original: https://www.cnblogs.com/klarck/p/14088159.html
Author: 一剑破万法
Title: 力扣数据库题目182查找重复的电子邮箱

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/591678/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 生产数据库主键超出限制解决方案

    不说那种建表的时候 设置好主键格式 的 解决方案. 事后诸葛啊. 谁都会 不靠谱方案1改主键表结构. 费时! 主键已经超长了.说明 数据量相当大. 改表结构的时间成本你能等得起吗方…

    数据库 2023年6月14日
    0133
  • java面试题(2022最新)

    JDK 和 JRE 有什么区别?JRE:Java Runtime Environment(java运行时环境)。即java程序的运行时环境,包含了java虚拟机,java基础类库。…

    数据库 2023年6月16日
    0132
  • Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块 os.access()方法

    Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块 os.access()方法 stat模块描述了os.stat(filename)…

    数据库 2023年6月9日
    0125
  • 异步线程里的日志不好追踪?小支一招,轻松搞定!

    众所周知,通过唯一的链路id来追踪一次请求的所有日志,对于排查生产问题来说,会是非常给力的。这个比较容易实现。我之前的博客也有多次提及 ▄︻┻┳═一 https://www.cnb…

    数据库 2023年6月9日
    0169
  • etcd和Zookeeper孰优孰劣对比

    背景 最近在看到Pachyderm的介绍时,看到作者拿YARN和Kubernetes做类比,拿Zookeeper和etcd做对比。YARN和Kubernetes的类比还相对比较好理…

    数据库 2023年6月11日
    0144
  • MySQL源码解析之执行计划

    MySQL执行计划介绍 MySQL执行计划代码概览 MySQL执行计划总结 一、MySQL执行计划介绍 在MySQL中,执行计划的实现是基于 JOIN和 QEP_TAB这两个对象。…

    数据库 2023年5月24日
    0133
  • Docker 从入门到入土

    1、Docker简介 1.1 虚拟化技术 介绍 Docker之前有必要了解一下虚拟化技术,其实Docker的出现也是虚拟机技术发展的一个里程碑。随着企业业务量的不断提升,需要横向的…

    数据库 2023年6月6日
    0132
  • Qt 保持窗口顶层显示最简单方法

    情景: 当前存在两个窗口或以上,先初始化的窗口会被后初始化的窗口覆盖,从而置于底层, 这时一个最简单的方案就是给需要置于顶层的窗口配置事件过滤器,监听窗口状态,当窗口不属于顶层窗口…

    数据库 2023年6月16日
    0184
  • Flyweight 享元(结构型)

    一:描述:(该模式实际应用较少) Flyweight 享元模式是对大量细粒度的元素进行共享和重用。减少对象的创建减轻内存; 注和单例模式不同的是:享元模式的各个对象佣有各自的行为并…

    数据库 2023年6月11日
    0173
  • 一、SQL高级语句

    摘抄别的博主的博客主要总去CSDN看不太方便自己整理一下加深记忆! 导入文件至数据库 #将脚本导入 source 加文件路径 mysql> source /backup/te…

    数据库 2023年5月24日
    0139
  • Java 中的异常处理机制

    本篇文章主要介绍了 Java 中的异常 如何处理函数抛出的异常 处理异常的原则 异常处理时,性能开销大的地方 Java 语言在设计之初就提供了相对完善的异常处理机制。 我们首先介绍…

    数据库 2023年6月11日
    0163
  • java中如何打印出一个类中所有变量呢?

    下文笔者将讲述,使用java代码打印出一个类中所有变量的方法分享,如下所示: 在日常开发中,我们经常需获取一个类的变量信息,然后操作变量,那么该如何编写此类代码呢?当然我们可以借助…

    数据库 2023年6月11日
    0121
  • 手把手教你使用 Java 在线生成 pdf 文档

    一、介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票、订单的库存打印单、各种电子签署合…

    数据库 2023年6月14日
    0172
  • haproxy

    haproxy 一.haproxy简介 二.负载均衡 三.haproxy安装 1.yum安装 2.源码安装 2.1 配置文件解析 2.2时间格式 2.3 全局global 2.4 …

    数据库 2023年6月14日
    0124
  • Pisa-Proxy 之 SQL 解析实践

    SQL 语句解析是一个重要且复杂的技术,数据库流量相关的 SQL 审计、读写分离、分片等功能都依赖于 SQL 解析,而 Pisa-Proxy 作为 Database Mesh 理念…

    数据库 2023年6月16日
    0183
  • Idea新建一个springboot的项目

    1、 2、 3、 4、 5、新建yml文件 6、如果没有这个yml文件没有变成绿叶标的话 如下操作添加即可 一般过一会就好了 Original: https://www.cnblo…

    数据库 2023年6月9日
    0157
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球