Oracle练习 利用表连接查询平均工资最高的部门信息

当查询结果数据来自于多两张表时,需要使用特定的连接条件将两张表的记录连接在一起,这种语法“表链接”。

在做查询平均工资最高的部门信息这道题的时候,因为工资字段在employees表中,而题目要求查询结果的部门信息在departments表中,所以应该想到利用表连接来解决。

代码如下:

---1.获取各部门的平均工资,并且可以用排序找出平均工资最高的部门
select department_id,avg(salary) avgsalary
from employees
group by department_id
order by avgsalary desc;
---2.添加编号列rownum,并提取最高工资的一行
select department_id,avgsalary,rownum rn
from (select department_id,avg(salary) avgsalary
from employees
group by department_id
order by avg(salary) desc)
---3.连接两个表后,查询最高工资的部门信息和平均工资
select d.*,avgsalary
from departments d join (select department_id,avgsalary,rownum rn
from (select department_id,avg(salary) avgsalary from employees group by department_id order by avg(salary) desc)
where rownum=1)t1
on d.department_id = t1.department_id

其中第三部为最终的代码,查询的结果是:

此题的重点在于使用表连接的做法时,虚拟表是可以和普通表做表连接的,甚至两张虚拟表也可以表连接查询结果

Oracle练习:用表连接实现查询平均工资最高的部门信息相关推荐

  1. 查询平均工资最低的部门信息

    employees 表数据 departments表数据 查询平均工资最低的部门信息 SELECT #6d.* FROM #1employees e INNER JOIN #2departments ...

  2. mysql查询平均工资最低的部门_查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名...

    如题: 查询出部门名称.部门的员工数.部门的平均工资.部门的最低收入雇员姓名和最高收入雇员的姓名 这是oracle的默认Scott用户以下的emp 和 dept 表间的一道思考题. 雇员表(emp) ...

  3. Oracle优化之表连接方式

    Oracle优化之表连接方式 在Oracle数据库中,两个表之间的表连接方法有排序合并连接.嵌套循环连接.哈希连接和笛卡尔连接四种 1.排序合并连接(sort merge join) 排序合并连接是一 ...

  4. MySQL:查询每个部门的员工小时平均工资(显示部门名称、部门员工小时平均 工资)

    这里写自定义目录标题 介绍 涉及的表的结构 table department table employee table works_on 思路 建立大表(三表联合)一次查询 临时表多次查询 总结 介绍 ...

  5. mysql最高平均工资_mysql查询出平均工资最高的部门编号

    mysql查询出平均工资最高的部门编号 一.部门表 DROP TABLE IF EXISTS `depts`; CREATE TABLE `depts` ( `id` int(11) NOT NULL ...

  6. Oracle数据库多表连接查询操作以及查询操作的补充

    文章目录 一.查询语句概述 1.查询语句基本语法格式 2.伪表和伪劣 二.单表查询 1.select子句 2.FROM子句 3.WHERE子句 4.DISTINCT关键字 5.GROUP BY子句与聚 ...

  7. oracle三张表关联外查询,oracle三张表左连接 | 学步园

    三张表,要查询出结果是:第一张表全显示,其余两张表显示对应连接的信息 三张表分别是 SQL> select * from zr_stu; STUID STUNAME STUSEX ------- ...

  8. mySQL学习记录(局域网连接/基础查询/条件查询/常见函数/窗口函数/表连接/子查询/插修删建表)

    一些基础概念 DB 数据库 存储数据的容器 DBMS 数据库管理系统 又称数据库软件.产品如mysql/oracle/db2/sqlserver SQL 结构化查询语言 是所有的DBMS都使用的一种D ...

  9. oracle两表联查分组,oracle解决多表关联分组查询问题

    做了一个功能需要分组查询,同时查询A表分组查询的ID需要关联B表的数据,本来想两个表关联查询,但是报group by 语法不正确.所以做了以下修改. select count(*), cindexid ...

最新文章

  1. NET基础(3):is 和 as 操作符
  2. 02.Python网络爬虫第二弹《http和https协议》
  3. C++学习点滴(多次调用同一个类)
  4. 最小覆盖子串_滑动窗口
  5. 如何制作出让女朋友满意的大片
  6. Swift 中的指针使用
  7. 使用jsp循环查询mysql_[JSP] 创建mysql数据库利用JSP进行数据库查询(1)
  8. idea module取得是parent的文件路径_React(或使用TS)中样式混乱解决方案 *.module.less...
  9. 2019.7.5刷题统计
  10. alexnet论文_【SOT】Siamese RPN++ 论文和代码解析
  11. storm32云台说明书_STorM32 BGC三轴增稳云台驱动下载
  12. Windows系统常用网络命令详解及命令示例(全)
  13. 01背包问题——大背包:
  14. 【固定定位和绝对定位】
  15. OpenCV:二值化函数cv2.threshold
  16. 论文笔记:Adaptive Cross-Modal Prototypes for Cross-Domain Visual-Language Retrieval
  17. 12家大厂软件测试大牛,联合打造:<如何从零开始学习软件测试>系列视频+完整版文档分享
  18. R语言使用lm函数构建分层线性回归模型(添加分组变量构建分层线性回归模型)、使用coef函数提取分层线性回归模型的系数及截距、计算第一个分组的间距和斜率信息(第一个分组,对照组)
  19. Java相关知识点总结
  20. UE4蓝图 传送带效果

热门文章

  1. XPO的UpCasting
  2. 学习Python的Django执行python manage.py startapp myApp创建应用出现的问题
  3. 在线客服系统解决方案:物流行业
  4. 7个H5网页制作工具全面介绍
  5. linux python3安装包_在 Linux 中安装 Python3
  6. 【C语言】PTA-查找书籍
  7. 批量删除多个 PDF 文档空白页
  8. html5 倒计时跳转动画,HTML5弹性摇摆旋转的倒计时动画
  9. pandas文件保存操作
  10. MySQL 5.6 (Win7 64位)下载、安装与配置图文教程