PostgreSQL 子查询
子查询嵌套在主查询中:可用于 WHERE(IN/EXISTS/比较)、FROM(派生表)与 SELECT 列位置。
Key PointsPostgreSQL,子查询,EXISTS,IN,派生表
讲解
子查询嵌套在主查询中:可用于 WHERE(IN/EXISTS/比较)、FROM(派生表)与 SELECT 列位置。
示例
SQL
SELECT name FROM company
WHERE id IN (SELECT person FROM orders WHERE amount > 100);
SELECT c.name, t.total
FROM company c
JOIN (SELECT person, sum(amount) AS total FROM orders GROUP BY person) t
ON t.person = c.id;Output
name | total
------+-------
Tom | 120.00讲解
子查询嵌套在主查询中:可用于 WHERE(IN/EXISTS/比较)、FROM(派生表)与 SELECT 列位置。
示例
SQL
SELECT name FROM company
WHERE id IN (SELECT person FROM orders WHERE amount > 100);
SELECT c.name, t.total
FROM company c
JOIN (SELECT person, sum(amount) AS total FROM orders GROUP BY person) t
ON t.person = c.id;Output
name | total
------+-------
Tom | 120.00