SQL中字段跟子查询结果判等,子查询结果为null的处理办法

简介: 前言:今天写功能的时候遇到一个问题,SQL中字段跟子查询结果判等,子查询结果为null,查询不到数据

前言:今天写功能的时候遇到一个问题,SQL中字段跟子查询结果判等,子查询结果为null,查询不到数据


平时我们写字段跟null比较都会写is null 和is not null


比如


select * from table where name is not null

但是遇到跟子查询比较,子查询结果可能为null怎么办


我这里提供一种解决办法,就是使用case分支语句判断一下


比如我这里查询跟id为7的记录在同一级目录下所有记录的ID和sort值


select regionid id, sort
from SYS_REGION
where case
          when (select PARENTREGIONID from SYS_REGION where regionid = '7') is null then PARENTREGIONID is null
          else
                  PARENTREGIONID = (select PARENTREGIONID from SYS_REGION where regionid = '7')
    end

如果是null就写is null


如果不是null就写等于


ps:我这里用的是人大金仓数据库,语法跟其他库大同小异


如果还有其他更好的处理方法,欢迎讨论


相关文章
|
17天前
|
SQL 存储 数据库
SQL部分字段编码设置技巧与方法
在SQL数据库管理中,设置字段的编码对于确保数据的正确存储和检索至关重要
|
12天前
|
SQL 存储 Serverless
SQL语句拆分时间字段的技巧与方法
在数据库操作中,经常需要处理时间数据
|
20天前
|
SQL 存储 关系型数据库
SQL判断CHAR类型字段不为空的方法与技巧
在SQL查询中,判断一个CHAR类型字段是否不为空是一个常见的需求
|
20天前
|
SQL Oracle 关系型数据库
SQL如何添加字段记录:详细步骤与技巧
在数据库管理中,经常需要向已有的表中添加新的字段(列)或向表中插入新的记录
|
22天前
|
SQL 关系型数据库 PostgreSQL
遇到SQL 子查询性能很差?其实可以这样优化
遇到SQL 子查询性能很差?其实可以这样优化
67 2
|
2月前
|
存储 JSON BI
关于建表字段是否该使用not null这个问题你怎么看?
V哥分享了在数据库设计中使用 `NOT NULL` 的重要性及应用场景。关键字段如用户名和邮箱应设为 `NOT NULL` 以确保数据完整性;可选字段如中间名和个人资料图片允许 `NULL` 提供更多灵活性。`NULL` 还可用于表示未知状态,如未发货的订单。外键设计需根据业务逻辑决定是否使用 `NOT NULL`。此外,`NOT NULL` 可优化查询性能,但在扩展性和数据兼容性方面,允许 `NULL` 更具优势。结合业务需求和数据统计,合理使用 `NOT NULL` 可确保数据完整性和灵活性。
|
2月前
|
SQL 关系型数据库 MySQL
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
121 0
|
3月前
|
SQL 数据库 开发者
SQL中的子查询:嵌套查询的深度解析
【8月更文挑战第31天】
331 0
|
3月前
|
SQL 数据挖掘 数据库
SQL 子查询深度剖析来袭!嵌套查询竟有如此无限可能,带你轻松玩转复杂数据检索与操作!
【8月更文挑战第31天】在 SQL 中,子查询是一种强大的工具,允许在一个查询内嵌套另一个查询,从而实现复杂的数据检索和操作。子查询分为标量子查询、列子查询和行子查询,可用于 SELECT、FROM、WHERE 和 HAVING 子句中。例如,查找年龄大于平均年龄的学生或每个课程中成绩最高的学生。子查询具有灵活性、可重用性和潜在的性能优化优势,但需注意性能问题、可读性和数据库支持。合理使用子查询能够显著提升查询效率和代码维护性。
68 0
|
3月前
|
SQL 数据处理 数据库
SQL进阶之路:深入解析数据更新与删除技巧——掌握批量操作、条件筛选、子查询和事务处理,提升数据库维护效率与准确性
【8月更文挑战第31天】在数据库管理和应用开发中,数据的更新和删除至关重要,直接影响数据准确性、一致性和性能。本文通过具体案例,深入解析SQL中的高级更新(UPDATE)和删除(DELETE)技巧,包括批量更新、基于条件的删除以及使用子查询和事务处理复杂场景等,帮助读者提升数据处理能力。掌握这些技巧能够有效提高数据库性能并确保数据一致性。
71 0