首页 > 试题广场 >

在PostgreSQL中,以下查询使用了LATERAL JO

[单选题]
在PostgreSQL中,以下查询使用了LATERAL JOIN:
SELECT d.department_name, e.employee_name, e.salary
FROM departments d,
LATERAL (
SELECT employee_name, salary
FROM employees
WHERE department_id = d.id
ORDER BY salary DESC
LIMIT 3
) e;
如果将LATERAL去掉改为普通子查询,结果会怎样?
  • 结果相同,LATERAL只是语法糖
  • 报错,因为子查询中引用了外部表d的列,没有LATERAL无法实现这种关联
  • 可以正常执行,但执行效率会降低
  • 可以正常执行,但会返回所有员工而不是每部门前3名

这道题你会答吗?花几分钟告诉大家答案吧!