
数据库本身是一个二维的表,就相当于是一个数学的集合。
有的时候需要两个表进行运算,比如,找到两个表中相同的部分,这个的运算机制就是传统的集合运算中的“交”。
有的时候需要表本身进行计算,比如,只需要显示表中某一列的数值,这个就是关系的专门运算“投影”。
集合运算
这是一种二目运算,一共有四种四种运算符:并,差,交,笛卡尔积;
语法:
查询语句
[UNION | UNIONALL | INTERSECT | MINUS]
查询语句
UNION(并集)
返回若干个查询结果,但是重复的不显示
Eg:SELECT *FROM dept
UNION
SELECT*FROM dept WHERE deptno = 10
注:查询 *** 作编写的过程中尽量使用UNION , UNION ALL代替 OR,提高查询速度
例:
查询工作是销售和clerk的;
SELECT*
FROM emp WHEREjob = ‘saleman’ or job = ‘clerk’
另一种方式:
SELECT * FROMemp WHERE job = ‘SALESMAN’
UNION
SELECT * FROMemp WHERE job = ‘CLERK’
UNION ALL(并集)
返回若干个查询结果,但是重复的也显示
Eg:SELECT * FROM dept
UNION ALL
SELECT*FROM dept WHERE deptno = 10
MINUS(差集)
返回若干个结果中不同的部分;
Eg:SELECT * FROM dept
MINUS
SELCT*FROM dept WHERE deptno = 10
INTERSECT(交集)
显示查询结果中相同的部分;
Eg:SELECT * FROM dept
INTERSECT
SELCT*FROM dept WHERE deptno = 10
————————————————
传统的集合的基本运算有交集、并集、相对补集、绝对补集、子集。集合运算是数学科学中常用的词语,是一种非常有效的构造形体的方法,可以直观的减少运算难度。
集合运算是实体造型系统中非常重要的模块,也是一种非常有效的构造形体的方法。从一维几何元素到三维几何元素,人们针对不同的情况和应用要求,提出了不少集合运算算法。
在早期的造型系统中,处理的对象是正则形体,因此定义了正则形体集合运算,来保证正则形体在集合运算下是封闭的。在非正则形体造型中,参与集合运算的形体可以是体、面、边、点,运算的结果也是这些形体,这就要求集合运算算法中能统一处理这些不同维数的形体,因此需要引入非正则形体运算。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)