EXISTS运算符是一个逻辑运算符,用于检查子查询是否返回任何行。如果子查询返回一行或多行,则EXISTS运算符返回TRUE。
子查询仅是SELECT语句。子查询返回行后,EXISTS运算符返回TRUE并立即停止处理。
请注意,即使子查询返回null值,EXISTS运算符也会计算为TRUE。
带子查询的EXISTS返回null示例
以下示例返回customers表中的所有行!
在此示例中,子查询返回包含null 的结果集,这也导致EXISTS运算符计算为TRUE。
EXISTS带有相关子查询示例
以下示例查找已下过两个以上订单的所有客户!
如果客户下达的订单数小于或等于2,则子查询返回一个空结果集,该结果集导致EXISTS运算符计算为FALSE。根据EXISTS运算符的结果,客户是否包含在结果集中。
以下语句使用in运算符查找城市为San jose的客户订单!