`
123003473
  • 浏览: 1061505 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle 交集、并集、差集、笛卡尔积

阅读更多
并集: 

使用 UNION 运算符组合多个结果 
SELECT name,num FROM Table1 
UNION 
SELECT name,num FROM Table2 

注意:查询的字段个数必须相同,Table2的字段类型要跟Table1的相同. 
如果使用 UNION 运算符,那么单独的 SELECT 语句不能包含其自己的 ORDER BY 或 COMPUTE 子句。只能在最后一个 SELECT 语句的后面使用一个 ORDER BY 或 COMPUTE 子句;该子句适用于最终的组合结果集。GROUP BY 和 HAVING 子句只能在单独的 SELECT 语句中指定。 

只用UNION有重复记录只取一条,用UNION ALL 时取所有重复记录 

FULLl JOIN是表示并集 
SELECT * FROM Table1 FULLl JOIN Table2 ON table1.id=table2.id 

交集: 

SELECT * FROM table1 AS a JOIN table2 AS b ON a.name =b.name 

差集: 

NOT IN 表示差集 
SELECT * FROM table1 WHERE name NOT IN (SELECT name FROM table2) 


笛卡尔积: 

SELECT * FROM table1 CROSS JOIN table2  
没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。 
不过,如果添加一个 WHERE 子句,则交叉联接的作用将同内联接一样。 
注意:不能使用ON 关键字,只能用WHERE条件 

union 和join不一样,union这个运算子是将资料列合并,而join是将栏位合并(我前面所讲)! 
如果从栏位合并来讲,full join 算是并集,inner join 算是交集!left join 或right join 不完全是差集,也包括交集的结果,具体你的语句的查询结果如何还是要看实际的语句,就如cross join,加上where就变成inner join,前后的结果相差甚远 。


转载:http://feng1725.blog.163.com/blog/static/39347176200710136029607/
分享到:
评论

相关推荐

    Oracle课程文档2

    主要有三种类型的集合运算:并集(`UNION`, `UNION ALL`)、交集(`INTERSECT`)和差集(`MINUS`)。 - **并集(`UNION` / `UNION ALL`)** - **`UNION`** 运算符用于合并两个或多个`SELECT`语句的结果集,并自动...

    数据库课件

    - **集合运算**: 包括并集、交集、差集和笛卡尔积等。 - **关系运算**: 如选择、投影、连接和除法等。 - **更新操作**: 包括插入、删除和修改操作。 **3. 关系语言** - **特点**: 关系语言是一种高度非过程化的...

    关系模型及oracle对象关系数据库.pptx

    关系代数还包含基本运算符,如集合交集、并集、差集等,这些运算符帮助用户对数据进行复杂的查询和操作。 Oracle对象关系数据库系统是Oracle公司提供的一个支持关系模型的数据库管理系统,它不仅具备传统的关系...

    sql数据库练习题.pdf

    12. 关系运算:R∪S表示关系R和S的并集,R∩S表示它们的交集,R-S表示差集,R×S表示笛卡尔积。这些运算用于从多个关系中提取特定数据。 13. 连接运算:关系R1和R2通过连接运算(Join)可得到R3,其中连接基于共享...

    数据库原理说课.ppt

    查询操作是最主要的,涉及选择(选取满足特定条件的行)、投影(选择指定列)、连接(合并两个或多个表)、除法、并集、交集和差集。关系操作的特点在于其集合操作方式,即操作对象和结果都是集合,而非一次操作单个...

    第 关系数据库基本原理PPT学习教案.pptx

    - 关系运算包括并集(所有元组都在A和B中)、交集(共同存在于A和B中的元组)和差集(仅存在于A但不在B中的元组)。 举例说明,假设有两个关系A和B,分别代表省份和城市: A={(湖南,长沙),(河北,石家庄),(陕西...

    数据仓库实践系列课程(1)——数据库基础与SQL.pptx

    SQL(Structured Query Language)是关系数据库的标准语言,它支持多种操作,包括选择(SELECT)、投影(PROJECTION)、并集(UNION)、差集(MINUS)、交集(INTERSECT)、笛卡尔积(CROSS JOIN),以及更复杂的...

    数据库系统原理(04735-2018年版)-数据库系统概述笔记.doc

    关系数据库操作基于关系代数和关系演算,如选择(Select)、投影(Project)、连接(Join)、除法(Division)、并集(Union)、交集(Intersection)、差集(Difference)和笛卡尔积(Cartesian Product)。...

    sql语言基础

    6. **合并查询**:集合运算符如`UNION`(去除重复行的并集)、`UNION ALL`(包含重复行的并集)、`INTERSECT`(交集)和`MINUS`(差集)用于合并多个查询结果。`ORDER BY`用于对合并后的结果进行排序。 7. **子查询...

Global site tag (gtag.js) - Google Analytics