SQL语言中<>的含义:示例代码如下
SELECT ordid,
prodid,
qty
FROM item
WHERE prodid IN (SELECT prodid
FROM item
WHERE ordid = 605)
AND qty IN (SELECT qty
FROM item
WHERE ordid = 605)
AND ordid <> 605;
Run Code Online (Sandbox Code Playgroud)
bry*_*mck 10
不等于.相反=
,相当于!=
.
此外,对于每个人的信息,这可以返回非零数量的行.我看到OP已经重新格式化了他的问题,所以它更清楚一点,但据我所知,这找到了记录,其中产品ID在#605的顺序中找到,数量也是如此,但实际上并不是#605.如果订单#605包含1个苹果,2个香蕉和3个蜡笔,#604应该匹配,如果它包含2个苹果(但不是3只狗).它只是不符合#605的订单.(如果ordid
是唯一的,那么它会找到完全相同的.)
我很惊讶没有人提到这个null
特殊情况。我认为的意思<>
更像是
具有一个不等于的值
在这种情况下,它会过滤掉具有ordid
605 的项目和具有null
ordid
.
在这种情况下,很明显,这可能ordid
是 never null
,但记住这null
不是来自 <>
605 (或来自任何东西)也没什么坏处。