【发布时间】:2012-11-27 16:09:27
【问题描述】:
我试图了解OUTER UNION 的工作原理,以及为什么它只是部分兼容。
我知道如果关系类型不兼容(我理解),则创建此操作是为了从两个关系中获取元组的并集。
这个操作的例子会很棒!
【问题讨论】:
-
有人遇到过关系代数运算符/符号来表示外部联合吗?例如,完全外连接用
⟗表示。外部联合是否已经存在类似的东西?
我试图了解OUTER UNION 的工作原理,以及为什么它只是部分兼容。
我知道如果关系类型不兼容(我理解),则创建此操作是为了从两个关系中获取元组的并集。
这个操作的例子会很棒!
【问题讨论】:
⟗ 表示。外部联合是否已经存在类似的东西?
OUTER JOIN 运算符存在于关系代数中,即使它可能不存在于大多数查询语言中。
选择1大学80分以上的医学生姓名和成绩
Name Biology
A 82
B 88
C 90
从大学2中选择b级或以上的技术学生的姓名和年级
Name Computer Science
F a
G a+
H b
假设这部分是在内部完成的,现在我们需要查看可以申请我的生物信息学课程的学生的最终名单及其资格。外部联合会有所帮助。
Table 1 OUTER UNION Table 2
Name Marks Grade
A 82
B 88
C 90
F a
G a+
H b
普通的UNION 不能这样做,因为属性 Marks 和 Grade 具有不同的域(一个采用数值,另一个采用字符等级)。然而,像这样的表示可能在许多情况下证明是有帮助的。
【讨论】:
您从哪里听说过这样的运营商的存在?
它在标准 SQL 中不存在,谷歌搜索似乎只能找到 SAS 中 PROC SQL 的语法。
无论如何,如果这个运算符的输出是一个可能包含 NULL 的表,那么这个运算符不是关系代数的一部分。关系代数是对依次产生其他关系的关系的计算,包含 NULL 的东西不是关系。
【讨论】: