我对本教程页面中的这个示例感到困惑。http://www.postgresqltutorial.com/postgresql-subquery/
SELECT
first_name,
last_name
FROM
customer
WHERE
EXISTS (
SELECT
1
FROM
payment
WHERE
payment.customer_id = payment.customer_id
);
你能告诉我子查询的意义吗?
我知道如果子查询至少返回一个结果,EXISTS 会将结果集转换为布尔值“true”。但是在子查询的 WHERE 子句中,它似乎总是“真”,所以总是会选择一行,所以 EXISTS 总是“真”。
该示例是否打算在子查询中执行此操作?
WHERE
customer.customer_id = payment.customer_id
此外,我假设作为 WHERE 一部分的子查询将为每个“客户”运行一次。那正确吗?
谢谢。