20_MySQL表的内连接实操


-- 查询底薪超过公司平均底薪的员工信息 -- 方法1
SELECT empno,ename
FROM t_emp
HAVING sal>AVG(sal); 因为在having中不能拿一个字段与聚合函数比较,所以此种方法行不通 -- 方法2 SELECT e1.empno,e1.ename
FROM t_emp e1 JOIN t_emp e2 ON e1.empno=e2.empno
WHERE e1.sal>AVG(e2.sal); 错误:非法使用聚合函数 -- 方法3 SELECT e.empno,e.ename,e.sal
FROM t_emp e JOIN (SELECT AVG(sal) avg FROM t_emp) t
ON e.sal >= t.avg;
一个结果也能够作为一张表与另一张表进行关联

-- 查询research部门的人数,最高底薪,最低底薪,平均底薪,平均工龄 SELECT
count(*),
MAX(e.sal),
MIN(e.sal),
AVG(e.sal),
AVG(DATEDIFF(NOW(),hiredate)/365)
FROM
t_emp e JOIN t_dept d ON e.deptno=d.deptno
WHERE
d.dname="RESEARCH";

-- 查询每种职业的最高工资、最低工资、平均工资、最高工资等级和最低工资等级 SELECT
e.job,
MAX(e.sal+IFNULL(e.comm,0)),
MIN(e.sal+IFNULL(e.comm,0)),
AVG(e.sal+IFNULL(e.comm,0)),
MAX(s.grade),
MIN(s.grade)
FROM t_emp e JOIN t_salgrade s
ON (e.sal+IFNULL(e.comm,0)) BETWEEN s.losal AND s.hisal
GROUP BY e.job;


-- 查询每个底薪超过部门平均底薪的员工信息 SELECT e.deptno,e.ename,e.sal,d.avg
FROM t_emp e JOIN (SELECT deptno,AVG(sal) AS avg FROM t_emp GROUP BY deptno) d
ON e.deptno=d.deptno
WHERE sal >= d.avg
ORDER BY e.deptno;
20_MySQL表的内连接实操的更多相关文章
- Ajax案例:三级联动查询员工的信息(三张表进行内连接)
		
需求分析: 通过数据库连接池,可以查询到数据库中员工的各种信息,通过点击下拉框的方式实现三级联动,即:没有点击city下拉框,后面两个下拉框中没有值,这样,点击city下拉框,department下拉 ...
 - Day055--MySQL--外键的变种,表与表的关系,单表查询,多表查询, 内连接,左右连接,全外连接
		
表和表的关系 ---- 外键的变种 * 一对多或多对一 多对多 一对一 参考 https://www.cnblogs.com/majj/p/9169416.html 如何找出两张表之间的关系 分析步骤 ...
 - 08_MySQL DQL_SQL99标准中的多表查询(内连接)
		
# sql99语法/*语法: select 查询列表 from 表1 别名 [连接类型] join 表2 别名 on 连接条件 [where 筛选条件] [group by 分组] [having 分 ...
 - HOL的多表查询——内连接、外连接
		
1.内连接: 由于学生和班级是多对一的关系,班级对应学生是一对多的关系,因此,需要先对学生和班级进行配置. (1)创建Student类(多的一方): package pers.zhb.domain; ...
 - mysql数据库中的多表查询(内连接,外连接,子查询)
		
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
 - 19_MySQL表的内连接
		
本节所涉及的SQL语句: -- 表连接查询 -- 查询每名员工(员工名字,编号)的部门信息(部门编号,部门名称) SELECT e.empno,e.ename,d.dname FROM t_emp e ...
 - SQL中的连接可以分为内连接,外连接,以及交叉连接 。
		
SQL中的连接可以分为内连接,外连接,以及交叉连接 . 1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例, ...
 - SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
		
SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表 stu表 1.内连接 ...
 - SQL连接:内连接、外连接、交叉连接。
		
SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表 stu表 1.内连接 ...
 
随机推荐
- Linux 输入输出重定向, &>file, 2>&1, 1>&2
			
Linux 输入输出重定向, &>file, 2>&1, 1>&2 一.1和2在Linux中代表什么 1.1 输出重定向 1.2 输入重定向 1.3 绑定重定 ...
 - 项目总结—校园办公管理系统(SSM框架搭建)
			
文章目录 CSDN下载地址:校园管理系统 GIT下载地址:校园管理系统 学以致用,学习完SSM框架之后,独立完成一个小院办公管理系统,熟悉框架的开发流程,熟悉项目的开发流程,完成一个简单的校园办公管理 ...
 - 36.Samba 文件共享服务1--安装及配置参数解释
			
1.Samba 服务程序现在已经成为在Linux 系统与Windows系统之间共享文件的最佳选择. 1)安装: [root@localhost ~]#yum install samba Loaded ...
 - MB与Mb
			
MB/s的含义是兆字节每秒,Mbit/s的含义是兆比特每秒,前者是指每秒传输的字节数量,后者是指每秒传输的比特位数.即B=Byte,b=bit,1Byte=8bit.下载时用的是B,交换机上用的是b, ...
 - Pytest(1)安装与入门
			
pytest介绍 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高.根据pytest的官方网站介绍,它 ...
 - C语言实现2048小游戏
			
目录 2048 一.设计思路 1.游戏规则 2.思路 二.代码实现 1.存储结构 2.初始化游戏数据 3.向左合并 4.其他方向合并 5.产生新的方块 6.源代码 7.实例演示 三.问题 2048 一 ...
 - 【noi 2.6_9275】&【bzoj 3398】Bullcow(DP){Usaco2009 Feb}
			
题意:一共有N只牡牛(公牛)和牝牛(母牛),每2只牡牛间至少要有K只牝牛才不会斗殴.问无斗殴发生的方案数. 解法:f[i][j]表示一共i只牛,最后一只是j(0为牝牛,1为牡牛)的方案数.f[i][0 ...
 - fzu2218 Simple String Problem
			
Accept: 2 Submit: 16 Time Limit: 2000 mSec Memory Limit : 32768 KB Problem Description Recent ...
 - Entity Framework (EF) Core学习笔记 1
			
1. Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一 种对象关系映射器 (ORM),它使 .NET 开发人员能够使用面向对象的思想处理数据 ...
 - Dapr微服务应用开发系列1:环境配置
			
题记:上篇Dapr系列文章简要介绍了Dapr,这篇来谈一下开发和运行环境配置 本机开发环境配置 安装Docker 为了方便进行Dapr开发,最好(其实不一定必须)首先在本机(开发机器)上安装Docke ...