当前位置: 首页 > 面试题库 >

如何使用'+'运算符在ORACLE中执行FULL OUTER JOIN?

赖鸿羲
2023-03-14
问题内容

代替使用FULL OUTER JOIN或FULL JOIN之类的关键字,我如何在’+’运算符的帮助下使用’where’子句执行完全外部联接?


问题答案:

您不能(至少直接)。Oracle仅使用SQL:1999语法支持完全外部联接。

您可以通过合并两个外部联接来伪造它:

select a.field1, b.field2
from table_a a, table_b b
where a.id = b.id(+)
union all 
select a.field1, b.field2
from table_a a, table b b
where a.id(+) = b.id
      and a.id is null

使用SQL:1999语法更具可读性:

select a.field1, b.field2
from table_a a full outer join table_b b
on a.id = b.id


 类似资料:
  • 问题内容: 我正在检查一些旧的SQL语句,以记录它们并可能对其进行增强。 DBMS是Oracle 我不明白这样的声明: 我对运算符感到困惑,并且无法在任何论坛上找到它((在引号内搜索+也不起作用)。 无论如何,我使用了SQLDeveloper的“解释计划”,并且得到了这样的输出,等等。 如果在查询末尾删除运算符,会有什么区别吗?在使用数据库之前,是否必须满足一些条件(例如具有一些索引等)?如果您可

  • 问题内容: 我正在尝试在Dropwizard上使用MYSQL JDBI进行IN查询(我认为不相关)。 如这里的建议,我还用 但是,当我启动应用程序时,出现以下错误: 有谁对解决这个问题有个好主意? 问题答案: 有两种方法可以实现它。 1 。使用 该注释期望StringTemplate中具有SQL语句的组文件 说我有这个文件PersonExternalizedSqlDAO 由于我们正在使用,因此必须

  • 本文向大家介绍在Sass中如何执行布尔运算?相关面试题,主要包含被问及在Sass中如何执行布尔运算?时的应答技巧和注意事项,需要的朋友参考一下 $age:20; .bool { @if ($age > 10 and $age < 25) { color: green; } }

  • 问题内容: 我试图了解Java字节码。我从一个简单的例子开始: 我编译了这个类: 然后我尝试在.class上像这样: 这给了我这个: 除了这一行,我可以理解其中的内容: 查看我的源代码和此字节码,看起来javac已经为该语句完成了加法运算: 并要求jvm返回该常量。 如果我的理解是错误的,有人可以纠正我吗?javac 在实际在jvm上运行之前,是否对,等等进行编译操作?如果可以,怎么办? 问题答案

  • 问题内容: 我在csv文件中有一个日期列,说有这种格式的日期,我还有另外一列。在列中,我要填充紧接在日期列中提到的日期之后的日期。例如。如果date列具有日期,那么我想在Next_Day列中。 我们可以在excel中使用,但我不知道如何在Python中执行此操作。 请帮助我解决这个问题。 问题答案: 使用

  • 问题内容: 有人可以简单地向我解释什么是(有条件的“三元”)运算符,以及如何使用它? 问题答案: 这是if-else语句的单行缩写。它称为条件运算符。1个 这是可以通过条件运算符缩短的代码示例: 可以这样缩短: 与所有表达式一样,条件运算符也可以用作具有副作用的独立语句,尽管在缩小之外这是不常见的: 它们甚至可以链接: 但是要小心,否则最终将得到如下复杂的代码: 1 通常称为“三元运算符”,但实际