连接到一个选择(而不是一个实际的表)的结果有效的ANSI标准SQL?



Microsoft SQL Server允许(使用Pubs数据库)。

select 
    titles.title_id, title, TotalSales 
from 
    titles 
join 
    (select title_id, sum(qty) as TotalSales
     from sales 
     group by title_id) as ts on ts.title_id = titles.title_id

,其中连接的是一个选择的结果,而不是一个命名的表或视图。

这是有效的ANSI标准语法吗?

如果它不是标准的,是否有其他知名的数据库支持它?

是的,这是标准的ANSI SQL,它被称为派生表,是大多数SQL方言的构建块。

在SQL中,将查询结果视为自己的表并在任何"parent"中引用它(使用适当的别名)是完全有效的。查询。

几乎所有的RDBMS平台都支持。

我说几乎是一个警告,但我实际上想不出任何目前支持的平台不允许派生表。

相关内容

  • 没有找到相关文章

最新更新