子查询和合并查询

一、子查询

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

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

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

标量子查询
    只返回一行一列
关联子查询
    一般放到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';

原文地址:https://www.cnblogs.com/miracle2020/p/14087003.html