MySQL查询所有员工的邮箱_mysql数据库查询练习二-【比经理工资还高员工姓名】【查找重复的邮箱】...
1.查询工资比他经理的工资还高的员工的姓名
Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。
+----+-------+--------+-----------+
| Id | Name | Salary | ManagerId |
+----+-------+--------+-----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL |
+----+-------+--------+-----------+
给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。
+----------+
| Employee |
+----------+
| Joe |
+----------+
s1表: s2表:
+----+-------+--------+-----------+ +----+-------+--------+-----------+
| Id | Name | Salary | ManagerId | | Id | Name | Salary | ManagerId |
+----+-------+--------+-----------+ +----+-------+--------+-----------+
| 1 | Joe | 70000 | 3 | | 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 | | 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | NULL | | 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL | | 4 | Max | 90000 | NULL |
+----+-------+--------+-----------+ +----+-------+--------+-----------+
2.解答
(1)方法一
select s1.Name as Employee from Employee as s1,Employee as s2 where s1.ManagerId=s2.Id and s1.Salary > s2.Salary
(2)方法二
Select s1.Name as Employee from Employee s1 join Employee s2 on s1.ManagerId = s2.Id and s1.Salary > s2.Salary
或
Select s1.Name as Employee from Employee s1 join Employee s2 on s1.ManagerId = s2.Id where s1.Salary > s2.Salary
(3)方法三:这种方法涉及到子查询,所以查询效率低
select s1.Name as Employee from Employee as s1 where s1.Salary > (select s2.Salary from Employee as s2 where s1.ManagerId = s2.Id);
3.编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。
编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。
示例:
+----+---------+
| Id | Email |
+----+---------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
+----+---------+
根据以上输入,你的查询应返回以下结果:
+---------+
| Email |
+---------+
| a@b.com |
+---------+
说明:所有电子邮箱都是小写字母。
4.解答
(1)方法一:
select distinct p1.Email from Person as p1,Person as p2 where p1.Email=p2.Email and p1.Id !=p2.Id;
(2)方法二:
select Email
from Person
group by Email
having count(*) > 1;
MySQL查询所有员工的邮箱_mysql数据库查询练习二-【比经理工资还高员工姓名】【查找重复的邮箱】...相关推荐
- mysql数据库查询练习二-【比经理工资还高员工姓名】【查找重复的邮箱】
1.查询工资比他经理的工资还高的员工的姓名 Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+----- ...
- mysql 姓刘或姓李_MYSQL数据库查询
作为测试人员最常用的数据库查询语句,本篇博文做了一个具体的总结,以下只是为了概述查询方法而举的例子,并不一定是最好的查询方式. 红色标记的地方是该查询语句中重点想要表达的查询方法. 一. 新建一个数据 ...
- mysql数据库操作多表查询_MySQL数据库查询操作进阶——多表查询
多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...
- mysql所有班级名称和人数_mysql数据库优化课程---12、mysql嵌套和链接查询(查询user表中存在的所有班级的信息?)...
mysql数据库优化课程---12.mysql嵌套和链接查询(查询user表中存在的所有班级的信息?) 一.总结 一句话总结: in:distinct:select * from class wher ...
- mysql php 缓存机制_mysql数据库查询缓存原理是什么
mysql数据库查询缓存原理是:1.缓存SELECT操作的结果集和SQL语句,key为sql,value为查询结果集:2.如果新的SELECT语句到了,以这个sql为key去缓存中查询,如果匹配,就把 ...
- mysql获取查询策略语句_MySQL数据库查询性能优化策略
优化查询 使用Explain语句分析查询语句 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句. 通过对查询语句的分析,可以了解查询语句的执行 ...
- MySQL实验四数据库的查询_MySQL数据库查询(实验四)
MySQL数据库查询 准备工作:脚本文件xkgl.sql下载:xkgl脚本.sql 1.执行脚本xkgl.sql (创建xkgl库.表及插入数据),观察有无错误,如有记录错误信息,并解决. (1) 执 ...
- mysql数据库的查询_mysql数据库查询
查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...
- mysql 查找数据过程_mysql数据库查询过程探究和优化建议
查询过程探究 我们先看一下向mysql发送一个查询请求时,mysql做了什么? 如上图所示,查询执行的过程大概可分为6个步骤: 客户端向MySQL服务器发送一条查询请求 服务器首先检查查询缓存,如果命 ...
最新文章
- 厉害了!Python+matplotlib制作8个排序算法的动画
- ACL 2021 | 北京大学KCL实验室:如何利用双语词典增强机器翻译?
- POJ - 2411 Mondriaan's Dream(状压dp)
- java string底层实现_Java-学习日记(Shell与String底层原理)
- 谷歌终于开放 “.app” 顶级域名注册:需要 HTTPS 加密
- 真正无人驾驶有望在美国全境普及?美交通部准备修改安全法规
- pyspark指定schema
- ChengDu University Mental Health Test 需求分析文档
- 载入样式表单出错: 分析 XSLT 样式表单失败
- dojo0.9的第一个实例
- Perhaps JAVA_HOME does not point to the JDK的解决方法
- 微信公众号注册认证流程
- SpringBoot+redis时事务和SessionCallback的使用和抉择
- RFID区域实时定位系统
- 3D游戏模型之鼻子的建模
- 曾是谷歌程序员,抛下百万年薪创业,4年成就7亿用户,今身价百亿!
- rti matlab,dSPACE-RTI知识介绍.pdf
- hadoop--环境搭建--域名解析失败
- 关于neo4j图数据库导出的svg文件打开方式
- 词霸天下---141词根 【-habit- = -hibit- 拥有,占据,居住 】
热门文章
- 【2023华为OD笔试必会25题--C语言版】目录
- 苏生:“月入三万”的背后,竟然是......
- 回归项目实战:预测燃油效率 (tensorflow2.0官方教程翻译)
- linux命令 权限管理 chown 改变文件的所有者,组,
- 如何用R语言进行云计算
- C#WINFORM全选反选(两种)
- Kubernetes入门教程 --- 使用二进制安装
- 喝水也要喝出高逼格!这款智能保温杯,用它再也没烫过嘴~
- 想做数字芯片设计前端?那你得了解这些事
- matlab标准阵列译码,译码标准阵列表