在SQL语句中使用NOT EXIST

Neo*_*Neo 0 sql sql-server

在where子句中,以下NOT EXIST的确切含义是什么,请帮助我理解.

WHERE
        NOT EXISTS  
        (
            SELECT
                'z'
            FROM
                Mytemptable
            WHERE
                Mytemptable.Date = @PositionDate AND
                Mytemptable.PurchaseLotId = PurchaseTable.PurchaseLotId
        )
Run Code Online (Sandbox Code Playgroud)

one*_*hen 5

有问题的关系运算符是半差异aka antijoin.大多数SQL产品缺少明确的半差异运算符或关键字,使用NOT EXISTS是许多变通方法之一.请注意,文本文字z可以替换为任何有效的文字,列或*行为没有变化.