子查询和合并查询

一、子查询

嵌套在查询里的查询就叫子查询。

返回一行的子查询叫作单行子查询

返回多行的子查询叫作多行子查询

标量子查询
    只返回一行一列
关联子查询
    一般放到where子句里的子查询叫关联子查询

二、合并查询

UNION、UNION ALL、INTERSECT、MINUS

1.UNION

    该操作符用于计算两个结果集的并集,会自动去掉结果集中的重复行,只保留重复行的一行结果。   

SQL>SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE SAL>2500
UNION 
SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE JOB='MANAGER';

 

2. UNION ALL

不会自动去掉结果集中的重复行,会全部显示出来

SQL>SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE SAL>2500
UNION ALL
SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE JOB='MANAGER';

 

3、INTERSECT

只显示第一个和第二个的交集

SQL>SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE SAL>2500
INTERSECT
SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE JOB='MANAGER';

 

 

 

 4、MINUS

只会显示存在第一个集合中,而不在第二个集合中的数据。

SQL>SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE SAL>2500
MINUS
SELECT ENAME,SAL,JOB FROM SCOTT.EMP WHERE JOB='MANAGER';

 

 

posted @ 2020-12-04 17:40  Miracle2019  阅读(330)  评论(0编辑  收藏  举报