とあるSQL本でFROM句にサブクエリを指定していた。
FROM (SELECT P1.DOG, P1.CAT, COUNT(*)
{...}
AS ConcurrentProcs(dog_name, cat_name,hoge)
ASで別名をつけることができるのは当然として、SELECTした列に括弧内の別名を指定できるというのは初めて知った。
なお、SQLServerではFROM句に指定したサブクエリにはASを使用して別名をつけないとエラーとなるらしい。
ミック『SQL ゼロからはじめるデータベース操作 第2版』(翔泳社,2016)ではサブクエリについて、
サブクエリの名前は、原則的に必要なものなので、処理内容から考えて適切名前をつけるようにしてください。[...]名前をつけるときは、ASキーワードを使いますが、このASは省略することが可能です。
p.165
ただしOracleでは別名をつけなくてもよい。