什么是外联以及为什么它部分兼容

ora*_*nge 3 union relational-algebra

我试图了解 a 是如何OUTER UNION工作的,以及为什么它只是部分兼容。

我知道如果关系类型不兼容(我理解),则创建此操作是为了从两个关系中获取元组的并集。

这个操作的例子会很棒!

小智 6

OUTER JOIN 运算符存在于关系代数中,即使它可能不存在于大多数查询语言中。

选择大学1医学生的姓名和分数,分数在80以上

Name Biology
  A   82
  B   88
  C   90
Run Code Online (Sandbox Code Playgroud)

选择大学2级b或以上技术类学生的姓名和年级

Name Computer Science
  F    a
  G    a+
  H    b
Run Code Online (Sandbox Code Playgroud)

假设这部分是在内部完成的,现在我们需要查看可以申请我的生物信息学课程的最终学生名单及其资格。外部联合会有所帮助。

Table 1 OUTER UNION Table 2

Name Marks Grade
  A   82
  B   88
  C   90
  F          a
  G          a+
  H          b
Run Code Online (Sandbox Code Playgroud)

法线UNION无法做到这一点,因为属性 Marks 和 Grade 具有不同的域(一个采用数值,另一个采用字符等级)。然而,像这样的表示在许多情况下可能会证明是有帮助的。


Erw*_*out 1

您在哪里听说过这样的运营商的存在?

它在标准 SQL 中不存在,并且 google 搜索似乎仅导致 SAS 中 PROC SQL 的语法。

无论如何,如果该运算符的输出是可能包含 NULL 的表,则该运算符不是关系代数的一部分。关系代数是对关系的计算,进而产生其他关系,包含 NULL 的东西不是关系。