Oracle复杂查询

1、 列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。

1、确定所需要的数据表:

  • dept表:部门名称;
  • emp表:统计信息;

2、确定已知的关联字段:

  • emp.deptno=dept.deptno;  

第一步:找出至少有一个员工的部门编号

SELECT deptno
FROM emp
GROUP BY deptno

第二步:找到部门名称,肯定使用部门表,因为现在的数据量较小,所以可以将之前的emp表和dept表两个进行连接,统一采用多字段分组的方式查询;

SELECT d.deptno,d.dname
FROM emp e,dept d
WHERE e.deptno=d.deptno(+)
GROUP BY d.deptno,d.dname

第三步:统计

SELECT d.deptno,d.dname,AVG(sal),MIN(sal),MAX(sal)
FROM emp e,dept d
WHERE e.deptno=d.deptno(+)
GROUP BY d.deptno,d.dname

2、 列出薪金比“SMITH”且“ALLEN”多的所有员工的编号、姓名、部门名称、其领导姓名。

1、确定所需要的数据表:

  • emp表:查询出“SMITH”且“ALLEN”工资;
  • emp表:最终的显示需要编号、姓名;
  • emp表:领导的姓名,自身关联;
  • dept表:部门名称;

2、确定已知的关联字段:

  • 雇员和领导:emp.mgr=emp.empno;
  • 雇员和部门:emp.deptno=dept.deptno;

第一步:找出“SMITH”且“ALLEN”的工资

SELECT sal FROM emp WHERE ename IN('SMITH','ALLEN');

第二步:以上的查询返回的多行单列的记录,按照子查询的要求在WHERE子句中写合适,所以这个时候将上面的查询作为一个子查询出现,继续查询符合此要求的员工的编号、姓名。

SELECT e.empno,e.ename
FROM emp e
WHERE e.sal>ALL(SELECT salFROM empWHERE ename IN('SMITH','ALLEN'));

第三步:查询出部门的名称,引入部门表,同时增加消除笛卡尔积的条件

SELECT e.empno,e.ename,d.dname
FROM emp e,dept d
WHERE e.sal>ALL(
SELECT sal
FROM emp
WHERE ename IN('SMITH','ALLEN'))
AND e.deptno=d.deptno;

第四步:领导的信息需要emp表自身关联

SELECT e.empno,e.ename,d.dname,m.ename
FROM emp e,dept d,emp m
WHERE e.sal>ALL(
SELECT sal
FROM emp
WHERE ename IN('SMITH','ALLEN'))
AND e.deptno=d.deptno
AND e.mgr=m.empno(+);

3、 列出所有员工的编号、姓名及其直接上级的编号、姓名,显示的结果按领导年工资的降序排列。

1、确定所需要的数据表:

  • emp表:员工的编号、姓名;
  • emp表:领导的编号、姓名、计算年薪;

2、确定已知的关联字段:emp.mgr=memp.empno;

SELECT e.empno,e.ename,m.empno,m.ename,(m.sal+NVL(m.comm,0))*12 income
FROM emp e,emp m
WHERE e.mgr=m.empno(+)
ORDER BY income DESC;

4、列出受雇日期早于其直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。

1、确定所需要的数据表:

  • emp表:雇员的编号、姓名;
  • emp表:求出领导的工作日期;
  • dept表:部门名称、位置;
  • emp表:统计部门人数;

2、确定已知的关联字段:

  • 雇员和部门:emp.deptno=dept.deptno;
  • 雇员和领导:emp.mgr=memp.empno;

第一步:列出受雇日期早于其直接上级的所有员工的编号、姓名 —— 自身关联emp表。

SELECT e.empno,e.ename
FROM emp e,emp m
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate;

第二步:加入部门信息,继续引入部门表

SELECT e.empno,e.ename,d.dname,d.loc
FROM emp e,emp m,dept d
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate
AND e.deptno=d.deptno;

额外提问,此时的笛卡尔积:emp表的14条 * emp表的14条 * dept表的4条;

第三步:统计部门人数,此时由于要使用统计函数,而且以上的查询也无法再直接出现统计函数,所以使用子查询完成

SELECT e.empno,e.ename,d.dname,d.loc,temp.count
FROM emp e,emp m,dept d,(
SELECT deptno dno,COUNT(empno) count
FROM emp
GROUP BY deptno) temp
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate
AND e.deptno=d.deptno
AND e.deptno=temp.dno;

当查询显示的时候需要统计信息,但是又不能直接使用统计函数查询的话,通过子查询在FROM子句之后进行统计。

5、列出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。

1、确定所需要的数据表:

  • dept表:部门的信息;
  • emp表:求出所有的统计信息;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT d.deptno,d.dname,d.loc,COUNT(e.empno),AVG(e.sal)
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno
GROUP BY d.deptno,d.dname,d.loc;

6、列出所有“CLERK”(办事员)的姓名及其部门名称,部门的人数,工资等级。

1、确定所需要的数据表:

  • emp表:找到办事员的姓名;
  • dept表:部门名称;
  • emp表:统计求出部门的人数;
  • salgrade表:查询工资等级;

2、确定已知的关联字段:

  • emp表和dept表:emp.deptno=dept.deptno;
  • emp表和salgrade表:emp.sal BETWEEN salgrade.losal AND salgrade.hisal;

第一步:找到所有办事员的姓名

SELECT e.ename
FROM emp e
WHERE job='CLERK';

第二步:找到部门信息,引入dept表,同时增加消除笛卡尔积的条件

SELECT e.ename,d.dname
FROM emp e,dept d
WHERE job='CLERK' AND e.deptno=d.deptno;

第三步:部门人数需要额外的统计,但是本程序的查询里面已经不可能继续使用COUNT()函数,所以写子查询统计SELECT e.ename,d.dname,temp.count
FROM emp e,dept d,(
SELECT deptno dno,COUNT(empno) count
FROM emp
GROUP BY deptno) temp
WHERE e.job='CLERK' AND e.deptno=d.deptno
AND d.deptno=temp.dno;

第四步:雇员的工资等级,继续引入salgrade表SELECT e.ename,d.dname,temp.count,s.grade
FROM emp e,dept d,(
SELECT deptno dno,COUNT(empno) count
FROM emp
GROUP BY deptno) temp,salgrade s
WHERE e.job='CLERK' AND e.deptno=d.deptno
AND d.deptno=temp.dno
AND e.sal BETWEEN s.losal AND s.hisal;

7、列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数及所在部门名称、位置、平均工资。

1、确定所需要的数据表:

  • emp表:最低薪金大于1500的工作肯定需要使用emp表统计求出,以及可以求出雇员人数;
  • dept表:求出些雇员所在的部门信息;
  • emp表:统计求出部门的平均工资;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:使用emp表按照job分组,统计最低工资(HAVING)和人数

SELECT e.job,COUNT(e.empno)
FROM emp e
GROUP BY e.job
HAVING MIN(e.sal)>1500;

第二步:要查询出雇员所在的部门信息,但是以上的查询能跟dept表有关联吗?

以上的查询和dept表之间并没有关联字段,那么如果没有关联字段,一定会有笛卡尔积产生,但是多表查询必须要消除笛卡尔积,所以必须联系;

  • 以上的查询可以和emp表的job字段关联;
  • 要引入的dept表也可以和emp表的deptno字段关联;

SELECT temp.job,temp.count,d.dname,e.ename
FROM dept d,(
SELECT e.job job,COUNT(e.empno) count
FROM emp e
GROUP BY e.job
HAVING MIN(e.sal)>1500) temp,
emp e
WHERE e.deptno=d.deptno AND e.job=temp.job;

第三步:求出一个部门的平均工资,使用emp表在子查询中统计SELECT temp.job,temp.count,d.dname,e.ename,res.avg
FROM dept d,(
SELECT e.job job,COUNT(e.empno) count
FROM emp e
GROUP BY e.job
HAVING MIN(e.sal)>1500) temp,
emp e,(
SELECT deptno dno,AVG(sal) avg
FROM emp
GROUP BY deptno) res
WHERE e.deptno=d.deptno AND e.job=temp.job
AND e.deptno=res.dno;

本题目之所以出的如此之复杂,目的是训练大家寻找关联字段的能力,但是本题目没有任何的意义,知道就行了。

8、列出在部门“SALES”(销售部)工作的员工姓名、基本工资、雇佣日期、部门名称、假定不知道销售部的部门编号。

1、确定所需要的数据表:

  • emp表:员工姓名、基本工资、雇佣日期;
  • dept表:找到销售部的部门编号、部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT e.ename,e.sal,e.hiredate,d.dname
FROM emp e,dept d
WHERE e.deptno=d.deptno
AND d.dname='SALES';

9、列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,公司的工资等级。

1、确定所需要的数据表:

  • emp表:可以求出公司的平均薪金;
  • emp表:员工的信息;
  • dept表:部门的信息;
  • emp表:领导的信息;
  • salgrade表:工资等级;

2、确定已知的关联字段:

  • 雇员和部门:emp.deptno=dept.deptno;
  • 雇员和领导:emp.mgr=memp.empno;
  • 雇员和工资等级:emp.sal BETWEEN salgrade.losal AND salgrade.hisal;

第一步:求出公司的平均薪金

SELECT AVG(sal) FROM emp;

第二步:将以上的子查询放在WHERE子句之中,作为一个查询条件,求出满足此条件的雇员信息。

SELECT e.empno,e.ename,e.job,e.sal
FROM emp e
WHERE e.sal>(SELECT AVG(sal) FROM emp);

第三步:找到部门的名称

SELECT e.empno,e.ename,e.job,e.sal,d.dname,d.loc
FROM emp e,dept d
WHERE e.sal>(SELECT AVG(sal) FROM emp)AND e.deptno=d.deptno;

第四步:找到领导的信息SELECT e.empno,e.ename,e.job,e.sal,d.dname,d.loc,m.ename
FROM emp e,dept d,emp m
WHERE e.sal>(
SELECT AVG(sal) FROM emp)
AND e.deptno=d.deptno
AND e.mgr=m.empno(+);

第五步:找到工资等级SELECT e.empno,e.ename,e.job,e.sal,d.dname,d.loc,m.ename,s.grade
FROM emp e,dept d,emp m,salgrade s
WHERE e.sal>(
SELECT AVG(sal) FROM emp)
AND e.deptno=d.deptno
AND e.mgr=m.empno(+)
AND e.sal BETWEEN s.losal AND s.hisal;

10、列出与“SCOTT”从事相同工作的所有员工及部门名称,部门人数。

1、确定所需要的数据表:

  • emp表:找到SCOTT的工作;
  • emp表:员工的信息;
  • dept表:部门名称;
  • emp表:部门人数;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:找到SCOTT的工作

SELECT job FROM emp WHERE ename='SCOTT';

第二步:以上的子查询返回单行单列的数据,所以可以在WHERE子句中出现,以这个条件查找满足要求的雇员信息SELECT e.empno,e.ename,e.job
FROM emp e
WHERE e.job=(
SELECT job
FROM emp
WHERE ename='SCOTT')
AND e.ename<>'SCOTT';

第三步:找到部门名称SELECT e.empno,e.ename,e.job,d.dname
FROM emp e,dept d
WHERE e.job=(
SELECT job
FROM emp
WHERE ename='SCOTT')
AND e.ename<>'SCOTT'
AND e.deptno=d.deptno;

第四步:找到部门人数,需要统计,所以在FROM子句之中编写SELECT e.empno,e.ename,e.job,d.dname,temp.count
FROM emp e,dept d,(
SELECT deptno dno,COUNT(empno) count
FROM emp
GROUP BY deptno) temp
WHERE e.job=(
SELECT job
FROM emp
WHERE ename='SCOTT')
AND e.ename<>'SCOTT'
AND e.deptno=d.deptno
AND temp.dno=e.deptno;

11、列出公司各个工资等级雇员的数量、平均工资。

1、确定所需要的数据表:

  • emp表:统计出数据;
  • salgrade表:得出工资等级;

2、确定已知的关联字段:emp.sal BETWEEN salgrade.losal AND s.hisal;

本程序实际上就是一个多字段分组而已,唯一不同的是,将分组条件设置为salgrade表中的字段;

SELECT s.grade,s.losal,s.hisal,COUNT(e.empno),AVG(e.sal)
FROM emp e,salgrade s
WHERE e.sal BETWEEN s.losal AND s.hisal
GROUP BY s.grade,s.losal,s.hisal;

12、列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称。

1、确定所需要的数据表:

  • emp表:找出所有在30部门工作的雇员的工资;
  • emp表:最终显示的雇员姓名;
  • dept表:找到部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:找到30部门工作的雇员的工资

SELECT sal FROM emp WHERE deptno=30;

第二步:高于30部门,使用ALL操作符,引入emp表,查询姓名和薪金

SELECT e.empno,e.ename
FROM emp e
WHERE sal>ALL(SELECT sal FROM emp WHERE deptno=30)AND e.deptno=d.deptno;

13、列出在每个部门工作的员工数量、平均工资和平均服务期限。

1、确定所需要的数据表:

  • dept表:找到部门信息;
  • emp表:统计出数量、平均工资、平均服务年限;

2、确定已知的关联字段:emp.deptno=dept.deptno;

直接将dept和emp表关联,使用多字段分组即可,但是对于服务年限需要一个计算过程。

SELECT d.deptno,d.dname,d.loc,COUNT(e.empno),AVG(e.sal),AVG(MONTHS_BWTWEEN(SYSDATE,e.hiredate)/12) year
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno
GROUP BY d.deptno,d.dname,d.loc;

14、列出所有员工的姓名、部门名称和工资。

1、确定所需要的数据表:

  • emp表:找到员工姓名;
  • dept表:部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT e.ename,d.dname,e.sal
FROM emp e,dept d
WHERE e.deptno=d.deptno;

15、列出所有部门的详细信息和部门人数。

1、确定所需要的数据表:

  • emp表:统计信息;
  • dept表:查询部门信息;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT d.deptno,d.dname,d.loc,COUNT(e.empno)
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno
GROUP BY d.deptno,d.dname,d.loc;

16、列出各种工作的最低工资及从事此工作的雇员姓名。

1、确定所需要的数据表:

  • emp表:统计出各个工作的最低工资;
  • emp表:查找出雇员姓名;

第一步:按照职位统计各个职位的最低工资

SELECT job,MIN(sal) FROM emp
GROUP BY job;

第二步:将以上的查询和emp表关联

SELECT e.ename,e.job,e.sal
FROM emp e,(SELECT job,MIN(sal) FROM empGROUP BY job) temp
WHERE e.job=temp.job AND e.sal=temp.min;

17、列出各个部门的MANAGER(经理)的最低薪金、姓名、部门名称、部门人数。

1、确定所需要的数据表:

  • emp表:找到经理的薪金、姓名;
  • dept表:部门名称;
  • emp表:统计部门人数;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:找到所有部门的经理

SELECT deptno,MIN(sal)
FROM emp
WHERE job='MANAGER'
GROUP BY deptno;

第二步:找到姓名,但是以上的子查询,不能再出现其他的字段SELECT e.ename,e.sal
FROM emp e,(
SELECT deptno dno,MIN(sal) sal
FROM emp
WHERE job=’MANAGER’
GROUP BY deptno) temp
WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER';

第三步:加入部门的名称信息SELECT e.ename,e.sal,d.dname
FROM emp e,(
SELECT deptno dno,MIN(sal) sal
FROM emp
WHERE job='MANAGER'
GROUP BY deptno) temp,dept d
WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER'
AND e.deptno=d.deptno;

第四步:统计部门人数SELECT e.ename,e.sal,d.dname,res.count
FROM emp e,(
SELECT deptno dno,MIN(sal) sal
FROM emp
WHERE job=’MANAGER’
GROUP BY deptno) temp,dept d,(
SELECT deptno dno,COUNT(empno) count
FROM emp
GROUP BY deptno) res
WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER'
AND e.deptno=d.deptno AND res.dno=d.deptno;
18、列出所有员工的年工资,所在部门名称,按年薪从低到高排序。

1、确定所需要的数据表:

  • emp表:统计年工资;
  • dept表:部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT e.ename,e.sal*12 income,d.dname
FROM emp e,dept d
WHERE e.deptno=d.deptno
ORDER BY income;

19、查出某个员工的上级主管及所在部门名称,并要求出这些主管中的薪水超过3000。

1、确定所需要的数据表:

  • emp表:员工的信息;
  • emp表:领导的信息;
  • dept表:部门名称;

2、确定已知的关联字段:

  • 雇员和部门:emp.deptno=dept.deptno;
  • 雇员和领导:emp.mgr=memp.empno;
SELECT DISTINCT m.ename,d.dname,m.sal
FROM emp e,emp m,dept d
WHERE e.mgr=m.empno AND m.deptno=d.deptno AND m.sal>3000;

20、求出部门名称中,带‘S’字符的部门员工的工资合计、部门人数。

1、确定所需要的数据表:

  • emp表:进行统计信息;
  • dept表:部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT d.dname,SUM(e.sal),COUNT(e.empno)
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno AND d.dname LIKE ‘%S%’
GROUP BY d.dname;

21、给任职日期超过30年或者在87年雇佣的雇员加薪,加薪原则:10部门增长10%,20部门增长20%,30部门增长30%,依次类推。

UPDATE emp SETsal=(1 + deptno/100)*sal
WHERE MONTHS_BETWEEN(SYSDATE,hiredate)/12>30OR TO_CHAR(hiredate,’yyyy’)=1987;
 

以上内容取自复杂查询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP三次握手和四次挥手以及11种状态

TCP三次握手和四次挥手以及11种状态 1、三次握手 置位概念&#xff1a;根据TCP的包头字段&#xff0c;存在3个重要的标识ACK、SYN、FIN ACK&#xff1a;表示验证字段 SYN&#xff1a;位数置1&#xff0c;表示建立TCP连接 FIN&#xff1a;位数置1&#xff0c;表示断开TCP连…

计算机网络体系结构——各层的功能

OSI七层架构 物理层主要功能&#xff1a;实现比特流的透明传输。基本单位&#xff1a;比特。 数据链路层主要功能 &#xff1a;封装成帧 。把帧从原MAC传到目的MAC&#xff08;相邻节点之间帧的透明传输&#xff09; 差错检测 循环冗余检测法。只检测有没有比特错误&#xf…

HTTP报文分析

一、HTTP请求报文解剖 HTTP请求报文由3部分组成&#xff08;请求行请求头请求体&#xff09;&#xff1a; 下面我们基于socket编写一个简单的HTTP server import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.Inp…

SSM框架整合一(springmvc+spring+mybatis+maven+tomcat)

一&#xff0c;环境说明 jdk1.7.0_07(cmd命令行输入java -version查看)&#xff0c;点击下载 eclipse Kepler Service Release 2 apache-maven-3.3.9(cmd命令行输入mvn -v查看)&#xff0c;点击下载 apache-tomcat-7.0.52&#xff0c;点击下载 mysql-5.5.28-winx64&#xff0c…

如何在windows机器上安装apache ab

为什么要使用apache ab&#xff0c;apache ab的是用来干嘛的&#xff0c;apache ab的命令&#xff1f; 如果您是来找上面这些问题的答案&#xff0c;那么请立刻关掉当前页面&#xff0c;因为这篇文章是纯粹的安装教程&#xff0c;避免浪费时间。 一&#xff0c;安装环境 win…

apache log4j入门

学习一项新东西之前&#xff0c;我常常问自己&#xff1a; 这项技术是什么&#xff1f; 这项技术为我们做了什么&#xff1f; 为什么不用其他类似的技术&#xff1f; 如何使用这项技术&#xff1f; 于是我带着这些问题开始学习apache log4j 一&#xff0c;apache log4j是…

低版本Eclipse如何快速设置黑色主题

低版本的Eclipse&#xff08;例如Kepler Service Release 2&#xff09;&#xff0c;没有自带的黑色主题&#xff0c;并且在线安装黑色主题会报错 去网上找了一圈结果都是骗人的&#xff0c;这个时候别着急&#xff0c;只需三个简单的步骤即可完成黑色主题配置。 下面是设置完…

tomcat-maven插件热部署(简洁版)

最近在学ssm框架&#xff0c;为了提高学习效率&#xff0c;想使用tomcat-maven插件热部署&#xff0c;网上有很多关于这方面的文章&#xff0c;但是有很多坑。 自己总结了一下&#xff0c;简化了多余的配置&#xff0c;还有运行过程中发生异常的原因。 环境&#xff1a;apach…

eclipse中配置jad反编译插件

1 下载Eclipse支持jad插件的jar包 将下载得到的net.sf.jadclipse_3.3.0.jar放到eclipse》plugins目录下 2 eclipse配置jad插件 下载jad.exe 3 设置文件关联

SpringCloud学习之路(一)-简单Demo

首先,我们先在C:\Windows\System32\drivers\etc路径下的hosts最后添加两个地址用于模拟服务端以及消费端的IP 127.0.0.1 dept-8001.com #微服务端127.0.0.1 client.com #消费端 SpringCloud的一个最基础Demo,本地真实模拟环境(服务的创建者以及消费者),这是我们Demo截图: 分为一…

Oracle数据库数据泵导入导出

由于开发过程中有时候无法直接连数据库&#xff0c;这时候需要将数据库导入开发环境中&#xff0c;故此总结一个完整的数据库导入导出过程。 注意expdp和impdp命令末尾都不能加分号 1 导出某个用户的所有数据库对象 1.1 Linux导出 su - oracle 授权用户grant exp_full_data…

eclipse工作区打不开的解决方案

今天上班的时候发现eclipse打开总是闪退&#xff0c;刚开始以为是eclipse的问题&#xff0c;后来才发现是工作区的问题。 分享出来&#xff0c;希望能够帮助遇到同样问题的人。 1 设置询问打开的工作区 eclipse安装目录\configuration\.settings\org.eclipse.ui.ide.prefs&a…

日期时间总结

今天总结一下日期时间如何处理&#xff0c;方便以后查看。 1 Oracle 1.1 日期格式参数及其含义说明 Oracle不区分大小写&#xff0c;所以下面参数大小写都可以 D 一周中的星期几 DAY 天的名字&#xff0c;使用空格填充到9个字符 DD …

Oracle对象被锁如何处理

1 查看被锁住的对象 select object_name,machine,s.sid,s.SERIAL# from v$locked_object l,dba_objects o ,v$session s where l.object_id  o.object_id and l.session_ids.sid; 2 解锁 将1中查询出的sid和serial#&#xff0c;作为参数 alter system kill session 2400,…

BeycondCompare3破解绿色版下载

链接: https://pan.baidu.com/s/1GBtkLdqU7wTAzjvn2QfHrw 提取码: rzcw 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦

Oracle rowid和rownum的区别

rowid和rownum在本质上有区别&#xff1a; rowid rowid是物理结构上的&#xff0c;每插入一行数据&#xff0c;都会生成一条唯一的编号。可以说默认排序是根据rownum升序的&#xff0c;但是本质上还是根据rowid升序排列的。 rownum rownum可以说是伪列&#xff0c;并不存在&a…

Oracle/mysql联合查询union、union all

若无特殊说明&#xff0c;oracle与mysql均适用 使用场景 union、union all关键字用户将两个select查询结果集合并成一个结果集&#xff0c;例如&#xff1a;一个旧系统使用a表&#xff0c;同样的信息但是新系统使用了b表&#xff0c;这时候可以使用union或者union all关键字将…

【JAVA基础篇】反射

一、反射的概念 是指在运行过程中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用这个对象的所有方法和属性。这种动态获取信息和动态调用方法的功能称为JAVA的反射机制。 二、反射的优缺点 2.…

在线工具

分享一下很实用的在线工具 在线HTTP接口测试 草料二维码 站长之家

【JAVA基础篇】面对对象的特征

面对对象的3大特征是&#xff1a;封装、继承和多态 封装 封装就是将客观的事物封装成抽象的类&#xff0c;这个类包含这类事物共同的特性和行为&#xff0c;特性对应类的成员变量&#xff0c;行为对应类的成员方法。 封装就是将一批具有相同特性和行为的客观事物封装成抽象类…