SQL Server中的不等于查询

4
我正在尝试执行一个查询,该查询可以从商家表中获取所有信息,其中PackageID不等于21或22或23。
选择*从商家中选择PackageID NOT '22'联合选择*从商家中选择PackageID NOT '21'
谢谢!

谢谢大家!!这么快 :) - challengeAccepted
5个回答

8

使用PackageID NOT IN (21, 22, 23..)而非

 Select * from Merchant 
 where PackageID NOT IN (21, 22, 23)

当结果为null时,显示为(null),那么NOT IN似乎不起作用。有什么办法可以包括null结果吗? - Xonatron
1
@Matthew Doucette 在哪里,ISNULL(PackageID,0)不在(21、22、23、0)中 - Michael Pakhantsov
啊,谢谢。null 永远不会产生 true 的结果。这解释了我的问题。 - Xonatron

1
SELECT * FROM Merchant WHERE Packageid NOT IN ('21', '22', '23')

1

选择 * 从商家 其中 PackageID 不在 ('21','22','23') 中


0
Select * from Merchant where PackageID NOT IN ('21', '22', '23')

0

您可以使用NOT IN子句来实现:

select * 
from Merchant 
where PackageID not in ('21','22')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接