このチュートリアルページのこの例について混乱しています。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
);
サブクエリのポイントを教えてください。
サブクエリから返された結果が少なくとも 1 つある場合、EXISTS は結果セットをブール値の「true」に変換することを理解しています。しかし、サブクエリの WHERE 句では、常に「true」になるように見えるため、行は常に選択されるため、EXISTS は常に「true」になります。
その例は、サブクエリでこれを行うことを意図していましたか?
WHERE
customer.customer_id = payment.customer_id
また、WHERE の一部であるサブクエリは、「顧客」ごとに 1 回実行されると想定しています。そうですか?
ありがとう。