SQL 子查询 > 1 含义

SQL Subquery > 1 meaning

我一直在查看一些旧的 Ingress SQL 代码,我对子查询末尾的“> 1”有点好奇,例如:

SELECT count(*)
FROM table1 t
WHERE t.col1 = 'TEST' 
AND t.col2 = 'TEST123' 
AND
(SELECT count(*)
FROM table2 ta
JOIN table3 tb ON tb.id = ta.id
WHERE t.col1 = ta.col1
AND tb.col3 IS NULL) > 1 ;

我对大于 1 的函数感到困惑 - 这是否意味着仅当子查询的 return 值大于 1 时才包含在 AND 语句中?还是我完全错了?用谷歌搜索但没有找到很多关于 Ingress 的结果!

干杯!

你是对的。这是一个 标量子查询 。这样的子查询returns一列,最多一行。该值在查询中被视为标量值。

在本例中,它是一个统计匹配行的聚合查询。所以,这个逻辑至少需要匹配两次。