This more of a general interest than specifically Postgres question. Are there any “semi-imperative” query languages that have been tried in the past? I’m imagining a language where something like this:
for employee in employees: for department in department: if employee.department == department.department anddepartment.name == "infosec": yield employee.employee, employee.name, employee.location, employee.favorite_drink
would be planned and executed like this:
SELECT employee.employee, employee.name, employee.location, employee.favorite_drink FROM employee JOIN department USING (department)WHEREdepartment.name == "infosec"
The only language I can think of that is vaguely like this is Fortress, in that it attempts to emulate pseudocode and Fortran very closely while being fundamentally a dataflow language.