存在的地方它如何在没有 link 的变量的子选择中工作

Where with exists how it works in subselect with variable without link

我对 EXISTS 子句有疑问:我有一个使用它的查询,但我从未见过代码。

在subselect的WHERE中,我看到这个表达式:

WHERE 
    @var IS NULL 
    OR EXISTS(another subselect)

但是这个变量不能用他的select和subselect做link。

这是如何工作的?

where @var is null 是布尔条件

如果 @var 为空,则为真 - 否则为假。

or exists (select '' from table t 
           where t.id = s.id and date > '2012-12-1')

returns 如果子查询至少存在一行,则为真。

如果 @var 不为空,则 exists 被评估为真条件