将域微积分转换为 (Postgre-)SQL

Convert Domain Calculus into (Postgre-)SQL

让 table Person 具有属性(列)NameAge.

给定域演算中的以下表达式:
{[name] | ∃ age (Person(name,age) ∧ age≥18)}

我想创建相应的 SQL 查询。

是否有可能(不问这是否是好的做法)创建这样的 SQL 查询(不仅在这种特定情况下)WITHOUT 知道数据库模式?所以我不需要知道 table Person 的列名为 NameAge.

我想过通过列索引访问 table,但我很困惑。

感谢@philipxy I have stumbled upon this answer:

WITH p(name,age) AS (SELECT * FROM PERSON)
SELECT name FROM p WHERE age>=18