综合练习(二)
目录
列出薪金比 SMITH 或 ALLEN 多的所有员工的编号、姓名、部门名称、领导姓名、部门人数,以及所在部门的平均工资、最高和最低工资
补充
spool
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
列出薪金比 SMITH 或 ALLEN 多的所有员工的编号、姓名、部门名称、领导姓名、部门人数,以及所在部门的平均工资、最高和最低工资
确定要使用的数据表
emp 表:员工的编号、姓名
dept 表:部门名称
emp 表:领导姓名
emp 表:统计信息
确定已知的关联字段
员工与部门:emp.deptno=dept.deptno
员工与领导:emp.mgr=memp.empno
第一步:知道 SMITH 或 ALLEN 的薪金,这个查询返回多行单列(WHERE 中使用)。
SQL> select sal2 from emp3 where ename in('SMITH','ALLEN');SAL
----------8001600
第二步:应该比里面的任意一个多即可,但是要去掉这两个员工
由于是多行单列子查询,所以使用 >ANY 完成
SQL> select e.empno,e.ename,e.sal2 from emp e3 where e.sal>any(4 select sal5 from emp6 where ename in('SMITH','ALLEN'))7 and e.ename not in('SMITH','ALLEN');EMPNO ENAME SAL
---------- -------------------- ----------7839 KING 50007902 FORD 30007566 JONES 29757698 BLAKE 28507782 CLARK 24507844 TURNER 15007934 MILLER 13007654 MARTIN 12507521 WARD 12507900 JAMES 950已选择 10 行。
第三步:找到部门名称
SQL> select e.empno,e.ename,e.sal,d.dname2 from emp e,dept d3 where e.sal>any(4 select sal5 from emp6 where ename in('SMITH','ALLEN'))7 and e.ename not in('SMITH','ALLEN')8 and e.deptno=d.deptno;EMPNO ENAME SAL DNAME
---------- -------------------- ---------- ----------------------------7839 KING 5000 ACCOUNTING7902 FORD 3000 RESEARCH7566 JONES 2975 RESEARCH7698 BLAKE 2850 SALES7782 CLARK 2450 ACCOUNTING7844 TURNER 1500 SALES7934 MILLER 1300 ACCOUNTING7521 WARD 1250 SALES7654 MARTIN 1250 SALES7900 JAMES 950 SALES
第四步:找到领导信息
SQL> select e.empno,e.ename,e.sal,d.dname,m.ename2 from emp e,dept d,emp m3 where e.sal>any(4 select sal5 from emp6 where ename in('SMITH','ALLEN'))7 and e.ename not in('SMITH','ALLEN')8 and e.deptno=d.deptno9 and e.mgr=m.empno(+);EMPNO ENAME SAL DNAME ENAME
---------- -------------------- ---------- ---------------------------- --------------------7902 FORD 3000 RESEARCH JONES7844 TURNER 1500 SALES BLAKE7521 WARD 1250 SALES BLAKE7654 MARTIN 1250 SALES BLAKE7900 JAMES 950 SALES BLAKE7934 MILLER 1300 ACCOUNTING CLARK7566 JONES 2975 RESEARCH KING7698 BLAKE 2850 SALES KING7782 CLARK 2450 ACCOUNTING KING7839 KING 5000 ACCOUNTING已选择 10 行。
第五步:得到部门人数,以及部门平均工资、最高和最低工资
整个查询里面不能够直接使用GROUP BY,所以现在应该利用子查询实现统计操作
SQL> select e.empno,e.ename,e.sal,d.dname,m.ename,temp.count,temp.avg,temp.max,temp.min2 from emp e,dept d,emp m,(3 select deptno dno,count(empno) count,avg(sal) avg,max(sal) max,min(sal) min4 from emp5 group by deptno) temp6 where e.sal>any(7 select sal8 from emp9 where ename in('SMITH','ALLEN'))10 and e.ename not in('SMITH','ALLEN')11 and e.deptno=d.deptno12 and e.mgr=m.empno(+)13 and d.deptno=temp.dno;EMPNO ENAME SAL DNAME ENAME COUNT AVG MAX MIN
---------- -------------------- ---------- ---------------------------- -------------------- ---------- ---------- ---------- ----------7902 FORD 3000 RESEARCH JONES 3 2258.33333 3000 8007844 TURNER 1500 SALES BLAKE 6 1566.66667 2850 9507654 MARTIN 1250 SALES BLAKE 6 1566.66667 2850 9507521 WARD 1250 SALES BLAKE 6 1566.66667 2850 9507900 JAMES 950 SALES BLAKE 6 1566.66667 2850 9507934 MILLER 1300 ACCOUNTING CLARK 3 2916.66667 5000 13007566 JONES 2975 RESEARCH KING 3 2258.33333 3000 8007698 BLAKE 2850 SALES KING 6 1566.66667 2850 9507782 CLARK 2450 ACCOUNTING KING 3 2916.66667 5000 13007839 KING 5000 ACCOUNTING 3 2916.66667 5000 1300已选择 10 行。
补充
spool
在数据库实际操作中,需要将查询结果输出到指定文件中,此时可以使用 spool 命令
spool filename [create][replace][append]|OFF|OUT
其中
filename 为输出的文件名称,默认的扩展名为 LST,后面所跟参数作用如下
create 表示创建新的文件,是默认状态
replace 表示替代已经存在的文件
append 表示把查询内容附加到已经存在的文件中
OFF|OUT 表示关闭输出
例如:
下面代码将查询结果输出到 D 盘的 temp.ext 文件中
SQL> spool d:\temp.txt
SQL> select empno,ename,job from emp;EMPNO ENAME JOB
---------- -------------------- ------------------7369 SMITH CLERK7499 ALLEN SALESMAN7521 WARD SALESMAN7566 JONES MANAGER7654 MARTIN SALESMAN7698 BLAKE MANAGER7782 CLARK MANAGER7839 KING PRESIDENT7844 TURNER SALESMAN7900 JAMES CLERK7902 FORD ANALYSTEMPNO ENAME JOB
---------- -------------------- ------------------7934 MILLER CLERK8989 HELLO已选择 13 行。SQL> spool off
此时,我的D盘就有了这个文件,内容如下


相关文章:
综合练习(二)
目录 列出薪金比 SMITH 或 ALLEN 多的所有员工的编号、姓名、部门名称、领导姓名、部门人数,以及所在部门的平均工资、最高和最低工资 补充 spool Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 列出薪金比 SMITH 或 AL…...
sql-labs第46关(order by盲注脚本)
一、环境 网上有自己找 二、解释 order by 注入我们看他的true和false来进行注入出来 二、实操 让我们用sort 看看源码 最终我们的id是放到order by后面了 如果我们直接用列去排序 ?sortusername/password username: password: 可以看到顺序是不…...
13款可以轻松上手画图软件推荐
在当今的数字世界里,我们有各种各样的创作工具,尤其是画图软件。所以问题来了:我们应该如何选择许多免费的绘画软件?为了回答这个问题,我们将在本文中分享10个领先的画图软件。每一个都有其独特的特点和优势࿰…...
vue实现商品评分效果(通过插件实现)
Vue.js 实现了一个简单的商品评分功能。用户可以通过点击星星来修改商品的评分,并且评分显示了相应的星星数。 废话不多说,直接上代码 方法一: <template><div><avue-form :model"formData"><avue-form-it…...
SpringBoot 手写 Starter
spring-boot-starter 模块 1.介绍 SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配…...
C++ 学习笔记(Structured bindings)
C 学习笔记(Structured bindings) 这个特性是 C17 引入的,个人认为主要是解决如何让函数返回多个值的问题。在这之前,我们一般用 std::pair 或者 std::tuple 来返回多个值。比如下面的例子: std::tuple<int, int …...
K8S常用kubectl命令汇总(持续更新中)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
加密和签名的区别及应用场景
原文网址:加密和签名的区别及应用场景_IT利刃出鞘的博客-CSDN博客 简介 本文介绍加密和签名的区别及应用场景。 RSA是一种非对称加密算法, 可生成一对密钥(私钥和公钥)。(RSA可以同时支持加密和签名)。 …...
双非二本找实习前的准备day3
学习目标: 每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了 今日碎碎念: 1)偶尔还是贪玩游戏&…...
又挖到宝了!国人团队研发的AI视频工具PixVerse,这么好用居然还完全免费!(强烈推荐)
昨天发了一款国产免费的 AI 绘画工具 Dreamina 的介绍: 居然才发现!字节跳动旗下国产AI绘画工具Dreamina,这么好用居然还免费!(强烈推荐) 发现大家对国产 AI 工具还挺感兴趣的。今天继续帮大家挖国产的 A…...
勒索病毒普通用户防范建议
勒索病毒普通用户防范建议 定期备份存储在计算机上的数据,这样勒索软件感染不会永远破坏您的个人数据。 最好创建两个备份副本:一个存储在云中(记住使用一个自动备份文件的服务),另一个物理存储(便携式硬…...
Zabbix“专家坐诊”第231期问答
问题一 Q:用docker-compose部署zabbix,部署完后如果要修改zabbix的配置应该要改docker-compose文件里的环境变量吧?改了环境变量之后只能重建容器才能生效吗?能不能在不影响已经配好的那些监控项的情况下让新的环境变量生效&#…...
【.NET Core】深入理解IO - FileSteam流
【.NET Core】深入理解IO - FileSteam流 文章目录 【.NET Core】深入理解IO - FileSteam流一、IO流概述二、文件流FileStream2.1 FileStream概述2.2 FileStream检测流位置更改2.3 FileStream构造函数2.4 FileStream常用属性2.5 FileStream.Read方法2.6 FileStream.Write方法2.7…...
CentOS7 Mysql 忘记密码或临时密码进不去时怎么跳过密码进去然后再更改密码
CentOS7 Mysql 忘记密码或临时密码进不去时怎么跳过密码进去然后再更改密码 1、进文件 vi /etc/my.cnf2、加skip-grant-tables设置跳过密码 在[mysqld]下面加 skip-grant-tables3、mysql -u root -p直接回车无密码进去mysql mysql -u root -p3、先更新,不执行这…...
深度学习 精选笔记(8)梯度消失和梯度爆炸
学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…...
linux操作docker
docker地址 官方地址 centos7安装docker 卸载旧版本docker sudo //在前面表示以管理员权限操作yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装docker //安装所需资…...
k8s Pod 进阶(资源限制,健康检查探针详解,启动退出,pod生命周期,)
目录 资源限制 查看资源控制字段 Pod 资源限制方式 Pod 和容器中定义资源请求和限制的具体字段 CPU资源单位 内存资源单位 示例 健康检查(探针) 探针的三种规则 存活探针(Liveness Probe) 就绪探针(Readines…...
SpringBoot整合ActiveMQ步骤
SpringBoot整合ActiveMQ主要涉及以下几个步骤: 添加依赖:在SpringBoot项目的pom.xml文件中添加ActiveMQ的依赖。 <dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-spring</artifactId><ver…...
MySQL的单表和多表查询
我们在前面曾构建过三个用于实验的表格,下面将基于这三个表进行实践。 # 建立一个用于实验的三个表格 mysql> create table emp (-> empno varchar(10),-> ename varchar(50),-> job varchar(50),-> mgr int,-> hiredate timestamp,-&…...
攻防世界例题wp
1.看到_wakeup()函数第一反应要么触发,要么绕过在这里绕过 2.构造payload实例化一个对象后反序列化 3构造脚本如下: 4.因为它是一个绕过的方法所以我们要使用绕过的方法。 5.继续构造payload将上图的1换成2进行绕过 最终的payload为 O:4:"xctf…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...
spring boot使用HttpServletResponse实现sse后端流式输出消息
1.以前只是看过SSE的相关文章,没有具体实践,这次接入AI大模型使用到了流式输出,涉及到给前端流式返回,所以记录一下。 2.resp要设置为text/event-stream resp.setContentType("text/event-stream"); resp.setCharacter…...
ABB馈线保护 REJ601 BD446NN1XG
配电网基本量程数字继电器 REJ601是一种专用馈线保护继电器,用于保护一次和二次配电网络中的公用事业和工业电力系统。该继电器在一个单元中提供了保护和监控功能的优化组合,具有同类产品中最佳的性能和可用性。 REJ601是一种专用馈线保护继电器…...
js 比较两个对象的值,不相等就push对象的key
在JavaScript中,比较两个对象(object)的值并找出不相等的key,可以通过多种方法实现。下面是一些常用的方法: 方法1:使用JSON.stringify 这种方法适用于简单的对象,其中对象的值是基本类型或可…...
