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

where子句中的NULL值

薄烨
2023-03-14
问题内容

我有一个这样的表“ bla”:

[id]    [name]    [fk]
1       test      4
2       foo       5
3       bar       NULL

如果我做SQL查询

SELECT * FROM bla WHERE fk <> 4

我只得到ID为2的记录。我没有ID为3的记录,其中fk为空。我以为NULL!=4。看来这是错误的。

为什么会这样呢?


问题答案:

NULL不等于任何东西。您需要明确接受null:

where fk <> 4 or fk is null;

有关处理的更多信息,请参见使用NULLNULL



 类似资料:
  • 问题内容: 如何检查值(@param为空) 前任: 如果我想将比较值(IS NULL)替换为@param。如何才能做到这一点 如何实现? 问题答案:

  • 本章提供了有关如何使用JDBC应用程序从表中选择记录的示例。 这将在从表中选择记录时使用WHERE子句添加其他条件。 在执行以下示例之前,请确保您具备以下示例 - 要执行以下示例,您可以使用实际用户名和密码替换用户名和密码。 您的MySQL或您正在使用的任何数据库已启动并正在运行。 所需的步骤 (Required Steps) 使用JDBC应用程序创建新数据库需要以下步骤 - Import the

  • 问题内容: 如果列匹配,是否有很好的方法在SQL中表示选择特定的行,否则选择更通用的行?就像是: 我只希望它返回一个特定的记录(如果存在),否则,如果找不到特定的列匹配项,则返回通用的“ ALL”记录。看起来COALESCE与我正在寻找的相似,但我不知道在语法上如何工作。 问题答案: @Blorgbeard答案(使用前1个和排序依据)可能是最好的方法,但只是有所不同,您还可以使用子查询,但不存在:

  • 问题内容: 我的网页上有一个绑定到gridview的entitydatasource。 在后面的代码中,我可以使用entitydatasource的WHERE语句过滤并向网格视图显示所需的内容。我的where语句之一使用大的OR语句进行过滤,但是逻辑上比较多的IN语句不起作用。 例如,我有雇员1-9,并且我想选择雇员1、4和7。在SQL中,我可以通过以下两种方式: 1。 2。 这两个语句在SQL中

  • 我是JPA的新手。使用where子句构建select查询。我需要从表Contacts中选择所有等于字符串名称值的ContactName。 以下是执行我的项目时出现的错误:java.lang.IllegalArgumentException:无法根据在org.hibernate.jpa.criteria.path.abstractPathimpl.unknownatAttribute(abstrac

  • 问题内容: 我最近才刚开始使用SQLAlchemy,但仍无法解决某些概念。 归结为基本元素,我有两个这样的表(通过Flask-SQLAlchemy): 我将如何查询用户列表及其最新帖子(不包括无帖子的用户)。如果我使用的是SQL,则可以执行以下操作: 因此,我确切地知道“期望的” SQL可以达到我想要的效果,但是不知道如何在SQLAlchemy中“正确地”表达它。 编辑:如果很重要,我使用的是SQ