力扣数据库题目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)

大家都在看

  • JVM

    JVM 一、什么是JVM 定义 Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境) 好处 一次编写,到处运行 自动内存管理,垃圾回收…

    数据库 2023年6月16日
    096
  • Js前端-路由管理器函数

    buildUrl:function( path ,params ){ let url = "" + path; let _paramUrl = "&q…

    数据库 2023年6月9日
    0116
  • 2021年想做的最后挣扎

    一年的时间转眼间就过完,感觉没变,又感觉跟一年前的今天变化还是蛮多的,树立个小目标争取年前完成把 读书一本书看一篇文章: 《百年孤独》:我总感觉虽然是只单身狗是孤单的,理解不了孤独…

    数据库 2023年6月6日
    0119
  • 达梦产品技术支持培训-day2-DM8常用SQL

    (本文只作为随笔或个人笔记,非官方文档,请勿作他用,谢谢) DM8数据库的SQL兼容性很高,和Oracle差距不大,以下是个人认为比较关键的部分。 1、关键动词 2、数据类型 2….

    数据库 2023年6月11日
    0143
  • 事务的本质和死锁的原理・改

    由于一些错误操作和被爬的原因,我重新整理了 &#x4E0A;&#x4E00;&#x7BC7;&#x6587;&#x7AE0;https://…

    数据库 2023年6月9日
    0126
  • 数据库设计的十个最佳实践

    数据库是应用及计算机的核心元素,负责存储运行软件应用所需的一切重要数据。为了保障应用正常运行,总有一个甚至多个数据库在默默运作。我们可以把数据库视为信息仓库,以结构化的方式存储了大…

    数据库 2023年5月24日
    0157
  • 设计模式之工厂方法

    一、工厂方法:简单工厂违背了单一职责原则,而且不利于扩展,于是衍生了工厂方法模式,该模式能很好地解决对扩展开放、对修改关闭的需求。 二、实现思路 :对每一个对象都创建一个对应的工厂…

    数据库 2023年6月14日
    0156
  • 2022-8-27 vue 第一天

    什么是vue? Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建…

    数据库 2023年6月14日
    0109
  • 创建一个属于自己的linux系统Docker镜像之旅-简单模式

    在创建容器之前首先要把该开启的服务都启动 1.CentOS的虚拟机/服务器 2.Docker 服务开启 systemctl start docker 文件的创建,可以在root下直…

    数据库 2023年6月6日
    0109
  • Oracle 有排序的分页SQL写法

    第一种: 第二种: 第一种比第二种效率会高,这是因为:CBO 优化模式下,Oracle可以将外层的查询条件推到内层查询中,以提高内层查询的执行效率。对于第一个查询语句,第二层的查询…

    数据库 2023年6月16日
    0121
  • try enabling the break write locks option for the cleanup

    如图: 一般是在中断:提交/更新的时候产生的。 一般两种解决方式(可以参考其他的): 1,重启ide(我的就是这么神奇,重启idea后好了); 2,在cleanup时勾选 brea…

    数据库 2023年6月11日
    0158
  • [spring]spring注入属性值的两种方式以及作用域

    4.IOC创建对象的过程 使用无参构造创造 设定为有参后,就会报错! 对象在被注册进去的时候,就被实例化了,直接使用就好。 5.IO注入 (1)前面的构造器注入 (2)set注入 …

    数据库 2023年6月16日
    0149
  • eclipse安装反编译插件

    一、下载插件 1、官方地址:http://jd.benow.ca/ 2、百度网盘:http://pan.baidu.com/s/1eSJ7Tiq 密码:sr6p 二、打开eclip…

    数据库 2023年6月9日
    0147
  • MySQL 回表

    MySQL 回表 五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。 一、简述 回表,顾名思义就是回到表中,也就是先通过普通索引扫描出数据所在的行,再通过行主键ID 取出索引中未包含…

    数据库 2023年6月14日
    0124
  • Consul 入门-初识

    背景 现状:单体架构逐渐被微服务架构所替代,原本两个功能模被拆分成了两个服务。原本两个模块块间的通信只需要 &#x51FD;&#x6570;&#x8C03;…

    数据库 2023年6月6日
    0140
  • MYSQL基础学习笔记

    关系型数据库与非关系型数据库 1、关系型数据库(SQL):主要依据”一对一、一对多、多对多”等关系模型来创建的数据库。 2、非关系型数据库(NoSQL):主…

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