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一列,最多一行。该值在查询中被视为标量值。
在本例中,它是一个统计匹配行的聚合查询。所以,这个逻辑至少需要匹配两次。
我一直在查看一些旧的 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一列,最多一行。该值在查询中被视为标量值。
在本例中,它是一个统计匹配行的聚合查询。所以,这个逻辑至少需要匹配两次。