我试图理解OUTER UNION
如何工作,以及为什么它只是部分兼容。
我知道如果关系不是类型兼容的(我理解),这个操作是为了从两个关系中取出元组的联合而创建的。
此操作的示例非常棒!
答案 0 :(得分:4)
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
无法执行此操作,因为标记和成绩属性具有不同的域(一个采用数值,另一个采用字符等级)。然而,这样的表示在许多场合可能会有所帮助。
答案 1 :(得分:1)
你在哪里听说过这样一个运营商的存在?
它在标准的SQL afaict中不存在,谷歌搜索似乎只导致SAS中的PROC SQL语法。
无论如何,如果此运算符的输出是可能包含NULL的表,则此运算符不是关系代数的一部分。关系代数是依次产生其他关系的关系的计算,而包含NULL的东西不是关系。