专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Oracle子查询(单行、多行、关联子查询)、集合运算

1、单行子查询

查询工资比名字为ADAMS高的员工的名字和工资:

99_1.png

除了关联子查询以外,子查询都是先执行子查询再执行主查询。

99_2.png

2、在from后面使用子查询

99_3.png

把子查询的查询的结果当作一个新的表。

3、sql优化

在子查询和多表查询都可以解决同一个问题的时候,尽量使用多表查询,因为子查询的方式需要访问数据库两次,查询效率更低。

4、多行子查询

(1)关键字in:

99_4.png

(2)any(集合中的任意一个值)

99_5.png

这里的大于any,即大于最小值。

(3)all(集合中的所有元素)

99_6.png

这里大于all,即大于最大值。

5、rownum

查询全部的员工信息:

99_7.png

加上rownum属性后进行员工信息的查询:

99_8.png

可以看出rownum属性是根据查询结果的先后顺序进行添加的。

99_9.png

当按员工薪水进行员工信息的排序时,rownum属性依旧不变。

99_10.png

查询薪水最高的三个人的信息,第二行的select语句查询的数据是临时表。

6、关联子查询

99_11.png

关联子查询中,外部查询返回的每一行数据,内部查询都要执行一次。上面的例子中,先取出emp表中的第一行数据,在内查询中查询该工作的平均工资,然后利用外查询,查询高于平均工资的员工信息。

7、UNION

(1)分别查询10号部门和20号部门的员工信息:

99_12.png

(2)使用集合运算的方式一次查询10号和20号部门的员工信息:

99_13.png

(3)尽量不要使用UNION,因为查询效率会随着UNION使用的次数的增多(访问数据库的次数也会增多)而降低。

8、交集:INTERSECT

9、差集:MINUS

文章永久链接:https://tech.souyunku.com/22392

未经允许不得转载:搜云库技术团队 » Oracle子查询(单行、多行、关联子查询)、集合运算

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们