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

在空值上使用SQL``zhoin''

甄阿苏
2023-03-14
问题内容

由于无法控制的原因,我需要连接两个表,并且需要空值来进行匹配。我能想到的最好的选择是吐出一个UUID并将其用作我的比较值,但这看起来很难看

SELECT * FROM T1 JOIN T2 ON nvl(T1.SOMECOL,'f44087d5935dccbda23f71f3e9beb491') = 
   nvl(T2.SOMECOL,'f44087d5935dccbda23f71f3e9beb491')

我该如何做得更好?如果重要的话,这是在Oracle上进行的,并且上下文是一个应用程序,在该应用程序中必须将一批用户上载的数据与一批现有数据进行比较,以查看是否有任何行匹配。回想起来,我们应该阻止任何一个数据集中的连接列包含空值,但是我们没有,现在必须忍受它。

编辑:明确地说,我 不仅 关注空值。如果列不为空,我希望它们与它们的实际值匹配。


问题答案:

也许这行得通,但我从未真正尝试过:

SELECT * 
FROM T1 JOIN T2 
ON T1.SOMECOL = T2.SOMECOL OR (T1.SOMECOL IS NULL AND T2.SOMECOL IS NULL)


 类似资料:
  • 我想我需要编辑临时表来将空单元格转换为空单元格。我可以从SSIS包中执行此操作吗?或者是否有可以使用的表设置? 谢谢你。

  • 本文向大家介绍在SQL Server中使用ISNULL执行空值判断查询,包括了在SQL Server中使用ISNULL执行空值判断查询的使用技巧和注意事项,需要的朋友参考一下 有如下查询: 本来,ISNULL函数只有一个参数,它表示的含义就是判断这个参数的值是否为NULL,是NULL则返回TRUE,否则返回FALSE; 但是,在SQLServer的查询语句中,isnull需要两个参数,它的含义是如

  • 问题内容: 我有一个包含4列的表格:项目,年份,月份,金额。Amount的某些值是null,当发生这种情况时,我想用以前的非null的Amount值来填充这些值。当只有一个空值时,我可以使用LAG函数轻松地做到这一点,但是当连续有多个空值时,我不确定如何处理它。以下是该表的外观示例,其中添加了要在查询中添加的内容的列: 我有两个想法,我似乎无法投入工作来实现自己想要的东西。首先,我要使用LAG,但

  • 问题内容: 我有一个包含3列的表格:c1,c2和c3。我想编写一条select语句,以便如果c1和c2都为空,则显示c3,否则显示c1。 在上述情况下,编写select语句的最佳方法是什么? 问题答案: 使用案例 使用NVL2 或者 使用解码 易读性和易用性CASE胜出。

  • 这是cita.fxml文件 这是主要的。fxml文件:

  • 我想创建一个函数来检查数据库中是否已存在用户。该函数存储在名为 checks 的 php 文件中并且必须返回一个值。 我的数据库.php文件: 我在另一个名为 的 php 文件中调用 错误出现在这个句子上:$sth=$con- 我在< code>checks.php文件中试过: < li >将代码从< code>database.php移动到checks.php < li >设置< code >错