gpt4 book ai didi

sql - IN 运算符 SQL

转载 作者:行者123 更新时间:2023-12-04 16:18:20 26 4
gpt4 key购买 nike

我有一个名为 NUMS 的表,其中有一列 n。
我在其中填充值 1,2,3,4,5,null 。

现在是一个查询

SELECT n FROM Nums 
WHERE n IN (1, 2, null)

在这种情况下,我猜它已转换为

SELECT n FROM Nums 
Where n = 1 OR n = 2 OR n = null

我还将 n 与一个 null 值进行比较,它应该产生未知并且它应该返回一个空集。但是它返回 1,2(null 不返回,尽管包含在 IN 运算符中)

现在是一个查询

SELECT n FROM Nums WHERE n NOT IN(1, 2, null)  

...转换为:

SELECT n FROM Nums 
Where n!=1 AND n!=2 AND n!=null

我上面所说的在这里有效,它没有返回任何东西。

谁能详细解释发生了什么。

最佳答案

这是因为 null = null 始终为 false 用于 null 的运算符是 ISIS NOT您可以使用下面的查询来获得预期的输出

SELECT n FROM Nums WHERE n IN (1,2) OR n IS NULL

[编辑]谢谢@Buckwad

关于sql - IN 运算符 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2197736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com