Oracle修炼路程--子查询

最新CobaltStrike4.8/CobaltStrike4.9、CS4.9/CS4.8、 Windows/Linux/Mac版下载 Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。 Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成, 阅读详情

子查询可以出现的位置:
where\select\having\from的后面;
不能出现在group by 后面;

1)select后面:必须是单行值;

SQL> select empno,ename,(select mgr from emp) from emp;
select empno,ename,(select mgr from emp) from emp
                    *
第 1 行出现错误:
ORA-01427: 单行子查询返回多个行


SQL> select empno,ename,(select mgr from emp where empno=7698) from emp;

     EMPNO ENAME      (SELECTMGRFROMEMPWHEREEMPNO=7698)
---------- ---------- ---------------------------------
      5741 QIN_JIALI                               7839
      7369 SMITH                                   7839
      7499 ALLEN                                   7839
      7521 WARD                                    7839
      7566 JONES                                   7839
      7654 MARTIN                                  7839
      7698 BLAKE                                   7839
      7782 CLARK                                   7839
      7788 SCOTT                                   7839
      7839 KING                                    7839
      7844 TURNER                                  7839
      7876 ADAMS                                   7839
      7900 JAMES                                   7839
      7902 FORD                                    7839
      7934 MILLER                                  7839

已选择15行。

--查询比SCOTT工资高的员工信息;
SQL> select *from emp where sal>(select sal from emp where ename='SCOTT');

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7566 JONES      MANAGER         7839 02-4月 -81           4575                    20
      7698 BLAKE      MANAGER         7839 01-5月 -81           4450                    30
      7782 CLARK      MANAGER         7839 09-6月 -81           4050                    10
      7839 KING       PRESIDENT            17-11月-81           7000                    10

2)having后面;举例:查询最低工资比40号部门的最低工资高的部门编号;

SQL> select deptno,min(sal) from emp group by deptno having min(sal)>(select min(sal) from emp where deptno=40);

    DEPTNO   MIN(SAL)
---------- ----------
        10       1700
  1. from后面:相当于修改了表结构;
SQL> select *from (select empno,ename from emp);

     EMPNO ENAME
---------- ----------
      5741 QIN_JIALI
      7369 SMITH
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7788 SCOTT
      7839 KING
      7844 TURNER
      7876 ADAMS
      7900 JAMES
      7902 FORD
      7934 MILLER

已选择15行。

SQL> SELECT *FROM EMP WHERE DEPTNO=(SELECT DEPTNO FROM DEPT WHERE DNAME='SALES');

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 20-2月 -81           2000        300         30
      7521 WARD       SALESMAN        7698 22-2月 -81           1650        500         30
      7698 BLAKE      MANAGER         7839 01-5月 -81           4450                    30
      7844 TURNER     SALESMAN        7698 08-9月 -81           1900                    30
      7900 JAMES      CLERK           7698 03-12月-81           1350                    30

4)any和all的用法

--查询工资比30号部门中任意其中一名员工的工资高的员工信息;
SQL>  select *from emp where sal>any(select sal from emp where deptno=30);

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7839 KING       PRESIDENT            17-11月-81           7000                    10
      7566 JONES      MANAGER         7839 02-4月 -81           4575                    20
      7698 BLAKE      MANAGER         7839 01-5月 -81           4450                    30
      7782 CLARK      MANAGER         7839 09-6月 -81           4050                    10
      7902 FORD       ANALYST         7566 03-12月-81           3400                    20
      7788 SCOTT      ANALYST         7566 19-4月 -87           3400                    20
      7499 ALLEN      SALESMAN        7698 20-2月 -81           2000        300         30
      7844 TURNER     SALESMAN        7698 08-9月 -81           1900                    30
      5741 QIN_JIALI  CLERK           7654 20-3月 -85           1900        600         20
      7934 MILLER     CLERK           7782 23-1月 -82           1700                    10
      7654 MARTIN     SALESMAN        7698 28-9月 -81           1650       1400         40
      7521 WARD       SALESMAN        7698 22-2月 -81           1650        500         30
      7876 ADAMS      CLERK           7788 23-5月 -87           1500                    20

已选择13行。

SQL> select *from emp where sal>(select min(sal) from emp where deptno=30);

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      5741 QIN_JIALI  CLERK           7654 20-3月 -85           1900        600         20
      7499 ALLEN      SALESMAN        7698 20-2月 -81           2000        300         30
      7521 WARD       SALESMAN        7698 22-2月 -81           1650        500         30
      7566 JONES      MANAGER         7839 02-4月 -81           4575                    20
      7654 MARTIN     SALESMAN        7698 28-9月 -81           1650       1400         40
      7698 BLAKE      MANAGER         7839 01-5月 -81           4450                    30
      7782 CLARK      MANAGER         7839 09-6月 -81           4050                    10
      7788 SCOTT      ANALYST         7566 19-4月 -87           3400                    20
      7839 KING       PRESIDENT            17-11月-81           7000                    10
      7844 TURNER     SALESMAN        7698 08-9月 -81           1900                    30
      7876 ADAMS      CLERK           7788 23-5月 -87           1500                    20
      7902 FORD       ANALYST         7566 03-12月-81           3400                    20
      7934 MILLER     CLERK           7782 23-1月 -82           1700                    10

已选择13行。


--查询工资比30号部门中全部员工的工资高的员工信息;
SQL> select *from emp where sal>(select max(sal) from emp where deptno=30);

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7566 JONES      MANAGER         7839 02-4月 -81           4575                    20
      7839 KING       PRESIDENT            17-11月-81           7000                    10

SQL> select *from emp where sal>all(select sal  from emp where deptno=30);

     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
      7566 JONES      MANAGER         7839 02-4月 -81           4575                    20
      7839 KING       PRESIDENT            17-11月-81           7000                    10

一般不在子查询中排序,如果排序用于分页查询;

基于TENG的呼吸测量与识别系统:从蓝牙到WiFi的改造与上位机实现 本文介绍了一种基于摩擦纳米发电机(TENG)的呼吸测量系统改造方案,将原有蓝牙通信升级为WiFi传输。系统通过TENG传感器采集呼吸信号,STM32微控制器处理数据后,经ESP8266 WiFi模块发送至上位机。文中详细阐述了硬件改造(四通道改单通道、蓝牙换WiFi)、嵌入式软件修改(包括ESP8266驱动、数据采集与TCP通信实现)以及上位机软件设计。改造后的系统提升了传输距离和稳定性,为可穿戴健康监测提供了更优解决方案。 阅读详情

相关推荐

(超全面,超基础)Kriging插值推导理论笔记,算法,普通克里金

最近老师让我再重新推导一下克里金插值的方法如何求出预测结果,于是我又无数次地打开了大神的推导原理过程链接????:克里金(Kriging)插值的原理与公式推导 作者:xg1990,但是不可避免地在推导过程中,数学知识基础薄弱的我卡住在一些公式推导的步骤中。 所以就想基于上面大神的推导过程,将里面的推导写得更具体些,当然觉得毫不吃力可以进行推导的大神们可以不看我的注释,直接点开链接看就好。 我看到csdn中很多关于克里金推导的博客里面的内容直接截屏或者复制了上面链接里大神发表的内容,也不注

Olivel1997的博客 1万+

Oracle修炼路程--查询习题

第一题 :查询所有员工的年工资、所在部门的名称,按年薪从低往高排序; SQL> select (sal*12+nvl(comm,0)) 年工资,d.dname 部门名称 from emp e,dept d where e.deptno=d.deptno order by 年工资 asc; 年工资 部门名称 ---------- -------------- 14400 R...

Python_Newer的博客 695

【软考高级架构设计师】——2025年上半年软考真题(回忆版)

a)异构计算和算法优化b)资源抽象和容器控制c)安全和隔离(大致是这个意思)

小志的博客 4837

Oracle修炼路程--PL/SQL基础语法

常用工具: 1 plsql developer 2 oracle sql developer PL/SQL是一门为扩展Oracle中SQL功能的编程语言, 常见符号: || 字符串连接符 := 赋值运算符 % 属性索引 使用%type可以使变量获得与字段相同的数据类型 = 相等运算符 1) 变量 SET SERVEROUTPUT ON; declare phello...

Python_Newer的博客 421

LSTM模型股价波动率预测(含Python代码)

源代码文件可在gzh’finance褪黑素'回复【24012203】获取。

celiaweiwei的博客 3777

Modem2G/3G/4G/5G:RFFE Driver(射频前端驱动):高通平台GRFC配置方法

文 | GentlemanTsao 文章目录前言1.什么是GRFC2.GRFC的配置流程概览3.msm_sig_info的配置与分析msm_sig_info Table位置:msm_sig_info Table示例:Table元素解读:rfc_msm_sig_info_type结构体signal typemsm_gpio |grfc_num:GPIO到GRFC的映射output_typefunction_select4._sig_cfg的配置与分析_sig_cfg table位置:_sig_cfg tabl

GentelmanTsao的博客 7315

Oracle修炼路程--分页查询

一 TOP-N问题 --取出工资最高的5五名员工信息; --第一步:首选对员工信息按照sal进行降序; SQL> select *from emp order by sal desc; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- -...

Python_Newer的博客 419

银河麒麟V10SP1实战:5步搞定AD域登录(附Samba+Winbind配置详解)

本文提供银河麒麟V10 SP1操作系统无缝集成Windows AD域的实战指南。文章深入解析了Samba、Winbind与Kerberos三大核心组件的协作原理,并详细阐述了从环境准备、软件包安装、配置文件定制到执行加域及排错的全流程。特别针对2403等新版本提供了关键配置差异与避坑要点,旨在帮助企业运维人员实现高效、稳定的域环境登录与管理。

weixin_29269441的博客 297

Oracle修炼路程--powerdesigner和oracle

1 环境 Powerdesigner 16.7(64位) Oracle 11g(64位) 2 配置数据源 安装好powerdesigner之后,做E-R图; 如图,物理模型:关系型须子表指向父表。 3 连接数据 1)配置数据源 开始-》搜索“数据源”-》接下来如下图: 到此,数据源配置完毕; 3 pb连接oracle 快捷键:ctrl+g,如图: 点击“确定”之后,即可将表格导入到数据库之中; 4 逆向生成 现在将数据库中的表格,导入到pd中: 填写好账号密码即可连接数据库,然后

Python_Newer的博客 354

保姆级教程:用PROGRAM_FTDI搞定Xilinx FPGA的JTAG调试器(基于FT232/FT2232/FT4232)

本文详细介绍了如何使用FT232/FT2232/FT4232系列芯片通过PROGRAM_FTDI工具配置Xilinx FPGA的JTAG调试器。从芯片选型、驱动安装到固件烧写和Vivado验证,提供了完整的实操指南和避坑要点,帮助开发者低成本实现高效调试。

weixin_29271053的博客 2174

抖音批量取消关注神器:5行JS代码搞定,告别手动操作(附详细步骤)

本文介绍了一种利用JS脚本在抖音创作者平台批量取消关注的高效方法。通过浏览器开发者工具执行简单的JavaScript代码,即可自动化模拟点击操作,快速清理大量关注列表,告别繁琐的手动操作。文中提供了详细的步骤和核心代码,适合有一定技术基础的用户参考。

weixin_29009971的博客 609

Oracle修炼路程--触发器

概念: 与表相关联的PLSQL程序,当执行DML(增删改)自动执行触发器; 创建语法: create or replace trigger 触发器名 before|after—在DML之前或者之后; delete|insert|update [of 列名]–DML语句 on 表名----操作某个表 for each row----对某行数据进行操作 。。。。。plsql代码 无论修改多少行,触发器...

Python_Newer的博客 351

实战指南 | Adjust 与 Facebook、Google Ads 自归因配置全流程解析

本文详细解析了Adjust与Facebook、Google Ads自归因配置的全流程,帮助移动应用出海推广者解决广告归因难题。通过自归因功能(SAN),开发者可以获取更准确的数据、简化配置流程并扩大安装来源覆盖,显著提升广告效果监测和ROI计算效率。

weixin_42528780的博客 539

Oracle修炼路程--六种约束

约束: 约束是数据库用来确保数据满足业务规则的手段。具体需要根据业务需求进行相应设置。 常见约束分类: 检查约束(Check):可限制条件,如name>4 唯一约束(Unique):id:1 2 3 4 5 主键约束(Primary key):类似唯一约束 外键约束(Foreign key):两张表关联 非空约束(Not null):不能为空 默认约束(Default):默认某值 约束命名规...

Python_Newer的博客 316

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Oracle修炼路程--视图

视图概念: 视图属于数据库对象(包括表、视图、序列、索引、同义词、触发器)之一, 视图是一个虚表,建立在表的基础之上,可以来自单个表或者多个表。 视图创建 创建视图的语法: create view myview as select 。。。from。。。emp with check option; --举例创建视图myview SQL> create view myview as select...

Python_Newer的博客 290

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Oracle修炼路程--数据字典

概念: 数据字典是oracle数据库最重要的组成部分;它是由表和视图组成,记录了数据库的系统信息;数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的! oracle数据字典通常是在创建和安装数据库时被创建的,是oracle系统工作的基础。没有数据字典的支持,oracle数据库系统就不能进行任何工作。 分类 1 静态数据字典表 2 静态数据字典视图 3 ...

Python_Newer的博客 260

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Oracle修炼路程--日期函数及转换函数

一 日期函数 a) sysdate:获取当前时间 SQL> select sysdate from dual; SYSDATE -------------- 13-4月 -20 SQL> select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; SYSDATE TO_CHAR(SYSD...

Python_Newer的博客 257

Oracle修炼路程--伪列rowid及rownum

**伪列概念:**类似于表中的列,但是不存在任何表中,可以查询,不可增加、修改或者删除。 一 rownum ronum: 1 逻辑伪列:比如1 2 3 4 5 6 。。 SQL> select rownum,e.* from emp e; ROWNUM EMPNO ENAME JOB MGR HIREDATE ...

Python_Newer的博客 249

Oracle修炼路程--PL/SQL之光标的使用

概念: 光标又名游标,是一个PL/SQL结构,利用光标可以命名这些工作区,并通过光标访问工作区中的信息。 语法: cursor 光标名(参数列表) is select。。。 属性: %isopen 判断光标是否打开,所以第一步打开光标; %rowcount 判断光标已经获取数据的行数; %found ...

Python_Newer的博客 240

Oracle修炼路程--事务操作以及隔离级别

事务概念 作为单个逻辑工作单元执行的一系列操作。 比如张三向李四转账1000,那么张三钱数-1000,而李四+1000; 事务特性:ACID Atomicity原子性:要么都成功,要么都失败; Consistency一致性:事务执行前后,总量保持一致; Isolation隔离性:各个事务并发执行时,彼此独立; Durability持久性:持久化操作。 事务的生命周期: MySQL:自动提交; Or...

Python_Newer的博客 233

Oracle修炼路程--闪回技术

oracle–闪回操作 **闪回概念:**当发生逻辑错误时,从闪回恢复区中取出在发生逻辑错误之前的数据,并进行恢复。 闪回作用: 1 撤销已经提交的事务; 2 恢复被删除的表格; 3 获取表上的历史记录信息; 闪回分类: 1 闪回表中的数据; 2 闪回删除的表; 3 闪回事务查询; 4 闪回数据库; 5 闪回归档日志; 下面阐述每一类闪回技术: 一 闪回表中的数据 实际上是将表中的数据快速恢...

Python_Newer的博客 230

Oracle修炼路程--存储过程/存储函数

一 存储过程 1 概念: 一条或多条SQL语句的集合; 当对数据库进行一系列的操作时,利用存储过程可将复杂的操作封装成一个代码块,以便重复使用。如同java中的方法,调用即可; 2 创建语法: create or replace procedure 过程名(参数列表) as PL/SQL语句; 3 具体语法: 1) 无参数的存储过程 create or replace procedur...

Python_Newer的博客 229

Oracle修炼路程--PL/SQL之例外

概念: 一种PL/SQL标识符,它用于处理PL/SQL程序的运行错误。 类型 一 系统例外: 1 预定义例外:用于处理常见的Oracle错误 2 非预定义例外:用于处理预定义例外所不能处理的Oracle错误 no_data_found: 没有找到数据,报错; too_many_rows:行数太多,报错; zero_divide:被0整除,报错; values_errors: 算术或者转换错误;...

Python_Newer的博客 229

SQL并行执行的机制解析与计划调控实践

并行执行是大数据量场景的核心提速手段,但用错代价极高。本文从问题边界讲起,梳理并行度的确定层级、优化器生成并行计划的逻辑、数据再分布与通信代价、倾斜成因与识别方法,覆盖表设计、索引策略、并行DML、RAC调度与参数取舍,配合三个真实失败案例与诊断步骤,给出一套可落地的并行治理流程与误区清单。

搞定过:百亿级数据、万级QPS、零宕机、AI工业化。 795

VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)

13_VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇) 系列定位 :《SQL Server 数据库全栈运维实战系列》第 13 篇,与《MySQL 数据库全栈运维实战系列》同构对标(对标 MySQL 13 主从与 I…

dk843108982的博客 240

数据库优化不是只加索引:从 SQL、表结构到写入链路的完整取舍

上线之后,有的查询确实变快,但一段时间之后,写入接口越来越卡、有些 SQL 依旧不走索引、高峰时段锁等待堆积。同时,这条查询只需要 id、order_no、amount,还没有形成覆盖索引,依旧会回表。更新语句的过滤条件,必须能够命中索引,锁定尽可能少的行。有时候 SQL 明明有索引,explain 却看到优化器选择全表扫描,不是索引失效,是 MySQL 统计信息不准,优化器误判扫描行数。如果只有三个单列索引,MySQL 优化器只会选择其中一个索引,剩下的条件需要回表过滤,还需要文件排序,效率很低。

acd12009的博客 140
上一篇: Oracle修炼路程--多表查询
下一篇: Oracle修炼路程--查询习题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值