Postgresql 加入删除

ITC*_*hap 6 postgresql join

我刚刚观看了 Rob Farley “为简化设计”的非常有趣的视频,我想知道视频中给出的 4 条规则是否也适用于 PostgreSQL。

如果视图正在执行不执行的连接:

  • 添加任何列
  • 消除行
  • 重复行
  • 引入空值

对于不需要它们的查询,连接是否会被忽略。或者它只是一个 SQL Server 的东西?

小智 4

PostgreSQL“Whats new in 9.0”中有一个关于此功能的示例。如果优化器检测到连接无法添加任何其他行,它将被删除。如果不需要,PostgreSQL 功能不会从视图中删除联接,因为未选择请求的列。

LEFT JOIN此外,该功能目前仅限于s(版本 9.4)。这可能会在未来版本中发生变化。