MySQL 分组统计查询 表连接(3)
1 查询底薪超过公司平均底薪的员工信息?
select
e.empno,e.ename,e.sal
from t_emp as e
join (select avg(sal) as avg from t_emp) t on e.sal > t.avg
2 统计人数 格式化时间
select
count(*) as count, max(a.sal),min(a.sal),
avg(a.sal) , floor(avg(DATEDIFF(NOW(),a.hiredate)/365))
from
t_emp a
join t_dept b on a.deptno = b.deptno
where
b. dname = 'RESEARCH'
3 查询每种职业的最高工资,最低工资 平均工资 ...
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
4 查询每个底薪超过部门平均底薪的员工
select e.empno,
e.ename,
e.sal
from t_emp e join
(select deptno,AVG(sal) avg from t_emp GROUP BY deptno) t
on e.deptno = t.deptno
where
e.sal >= t.avg
5 统计部门名称和人数
select
d.dname,count(e.deptno)
from t_dept d
left join t_emp e on d.deptno = e.deptno
GROUP BY d.deptno HAVING d.dname is not null
6 union 连接使用方法
(select
d.dname,count(e.deptno)
from t_dept d
left join t_emp e on d.deptno = e.deptno
GROUP BY d.deptno)
union
(select
d.dname,count(*)
from t_dept d
right join t_emp e on d.deptno = e.deptno
GROUP BY d.deptno)
7 查询上司名称 编号
select
e.empno,
e.ename,
d.dname,
(e.sal+ IFNULL(comm,0)) AS sal,
s.grade,
FLOOR(DATEDIFF(NOW(),e.hiredate)/365) AS hire,
t.empno m_empno,
t.ename m_ename,
t.dname m_dname
from
t_emp e
left join t_dept d on d.deptno = e.deptno
left join t_salgrade s on e.sal BETWEEN s.losal and s.hisal
left join (select
e.deptno,e.empno,e.ename,d.dname
from t_emp e
join t_dept d on d.deptno = e.deptno) as t on t.empno = e.mgr
MySQL 分组统计查询 表连接(3)的更多相关文章
- 010.简单查询、分组统计查询、多表连接查询(sql实例)
-------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SEL ...
- mysql加强(3)~分组(统计)查询
一.分组(统计) 查询 1.语法 : select [distinct] *| 分组字段1[别名] [,分组字段2[别名],...] | 统计函数 from 表名 [别名] [where 条件(s)] ...
- SQL Fundamentals: 分组统计查询(FROM-WHERE-GROUPBY-HAVING-SELECT-ORDER BY)
SQL Fundamentals || Oracle SQL语言 统计函数 单字段分组统计(GROUP BY) 多字段分组统计 HAVING子句 控制操作的显示列:基本的SELECT语句 控制行:限定 ...
- Oracle数据库从入门到精通-分组统计查询
视频课程:李兴华 Oracle从入门到精通 视频课程学习者:阳光罗诺 视频来源:51CTO学院 整体内容: 统计函数的使用 分组统计查询的实现 对分组的数据过滤 统计函数 在之前我们就学习过一个COU ...
- MySql 简单统计查询消耗时间脚本
MySql 简单统计查询消耗时间脚本 by:授客 QQ:1033553122 drop procedure if exists selectTime; delimiter; create proced ...
- sql 分组统计查询并横纵坐标转换
关于sql 分组统计查询,我们在做报表的时候经常需要用到;今天就在这里整理下; 先附上一段sql代码: if object_id(N'#mytb',N'U') is not null drop tab ...
- mysql(4)—— 表连接查询与where后使用子查询的性能分析。
子查询就是在一条查询语句中还有其它的查询语句,主查询得到的结果依赖于子查询的结果. 子查询的子语句可以在一条sql语句的FROM,JOIN,和WHERE后面,本文主要针对在WHERE后面使用子查询与表 ...
- MySQL学习笔记——多表连接和子查询
多表连接查询 # 返回的是两张表的乘积 SELECT * FROM tb_emp,tb_dept SELECT COUNT(*) FROM tb_emp,tb_dept # 标准写法,每个数据库都能这 ...
- MySQL数据库:多表连接查询
多表连接查询 注意:使用连接技术建议将表经行重命名! # explain 检索连接是否达标 # 内连接 # 语法1 from 表1 inner join 表2 on 主键字段=外键字段 [where ...
随机推荐
- UVA 11178 Morley's Theorem 计算几何模板
题意:训练指南259页 #include <iostream> #include <cstdio> #include <cstring> #include < ...
- Linux命令-文件管理(四)
Linux命令-文件管理 Linux slocate命令 Linux slocate命令查找文件或目录. slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息. 语法 slocate ...
- @vue/cli 3.x 版本配置productionGzip提高性能
第一步:安装插件 npm i -D compression-webpack-plugin 第二步:引入.在文件vue.config.js里导入compression-webpack-plugin,并添 ...
- C++入门经典-例5.6-指针与const
1:同其他数据类型一样,指针也有常量,使用const关键字定义,形式如下: int i=9; int *const p=&i;//无法改变内存指向 *p=3; 将关键字const放在标识符前, ...
- gojs常用API
操作类API: 添加节点: myDiagram.model.addNodeData(node); var node = {}; node["key"] = "节点Key& ...
- php面向对象 练习
实例一:求一个圆环的面积,大圆半径:10 小圆半径:5 造一个圆的类: class Yuan { public $r; function __construct($r) //半径初始化 { $t ...
- DB2日常管理
执行时间最长的10条SQL语句(按时间降序排列),可保存为脚本方便调用:db2 "SELECT rows_read / (num_executions + 1) as avg_rows_re ...
- Git-Runoob:Git 服务器搭建
ylbtech-Git-Runoob:Git 服务器搭建 1.返回顶部 1. Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看 ...
- Object Creation
Although using the object constructor or an object literal are convenient ways to create single obje ...
- Oracle 笔记(二)
Oracle的sql语言: Sql全称:struct query language 结构化查询语言 五大类: DDL:数据定义语言 create alter drop DQL:数据查询语言sel ...