数据集合操作

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、可以使用集合操作将多个查询结果合并到一起显示,但是要求,多个查询结果返回的结构必须相同。

posted @ 2017-12-06 23:05  慕河河  阅读(338)  评论(0)    收藏  举报