数据集合操作
3.4、数据集合查询操作
之前都属于多张数据表的关联操作,但是数据的集合操作主要负责连接的是查询结果。对于查询结果的连接提供有四种操作符:UNION、UNION ALL、INTERSECT、MINUS,利用这几个符号可以实现多个查询语句的连接。
就相当于将多个查询结果连接为一个查询结果返回,那么也就有一个明确的要求,多个查询结果返回的列的结构必须全部相同。
范例:验证UNION操作
SELECT empno,ename,job FROM emp WHERE deptno=10 UNION SELECT empno,ename,job FROM emp;
此时是将两个查询结果合并在了一起,但是UNION的操作特点是如果遇见了有相同的内容,那么不会重复显示。
范例:验证UNION ALL操作
SELECT empno,ename,job,deptno FROM emp WHERE deptno=10 UNION ALL SELECT empno,ename,job,deptno FROM emp;
所有的重复数据都会进行显示。
范例:验证INTERSECT操作
SELECT empno,ename,job,deptno FROM emp WHERE deptno=10 INTERSECT SELECT empno,ename,job,deptno FROM emp;
此处返回了相同的数据部分,属于交集的操作。
范例:验证MINUS操作
SELECT empno,ename,job,deptno FROM emp
MINUS SELECT empno,ename,job,deptno FROM empWHERE deptno=10;
此处返回了差集,但是差的计算是利用了第一个集合减去第二个集合。
4、总结
1、只要是多表查询永远都存在笛卡儿积,所以优秀的系统设计的时候绝对不可能考虑多表查询;
2、多表连接查询时,必须回存在有关联字段或者是关联条件,否则无法进行多表查询;
3、大部分情况下使用的都是内连接操作,外连接Oracle提供的控制是“(+)”;
4、在Oracle之外的数据库(SQL Server、MySQL),那么就必须利用SQL:1999语法实现外连接操作;u
5、可以使用集合操作将多个查询结果合并到一起显示,但是要求,多个查询结果返回的结构必须相同。

浙公网安备 33010602011771号