ich auf einem Client-Abfrage kam gestern, ist es so etwas wie:Oracle SQL abgeleitete Tabelle - optional Aliasing
select count(*) as countall,
person,
location
from (select custid,
min("Date") as theDate,
person,
data.location
from data join
customer on customer.customerid = custid
where status = 1
and custid <> -1
group by custid,
person,
data.location) --[NO ALIAS]
group by person,location
ich nicht viele Stunden in Oracle, aber in MS SQL wäre dies nicht fliegen , meines Wissens nach. Jedes Mal, wenn ich eine abgeleitete Tabelle verwendet habe, wird ein Fehler ausgegeben, sodass Szenarien wie diese mein Interesse wecken. Ich konnte nichts finden, um es auf den Interwebs zu erklären, hoffentlich kann jemand die Szenarien erklären, wo Aliasing für abgeleitete Tabellen optional ist und wenn nicht.
Aliasing ist nicht erforderlich. Es ist jedoch erforderlich, wenn Sie darauf verweisen müssen. – mathguy
Das wird funktionieren. Aliasing ist optional, wird aber empfohlen. In dem von Ihnen geposteten Code nicht unbedingt erforderlich, wird jedoch empfohlen, wenn es Tabellen außerhalb der Inline-Ansicht gibt, sodass Joins verwendet werden können. Dies ist erforderlich, wenn Spaltennamen häufig oder mehrdeutig sind. –
Dies unterscheidet sich von Plattform zu Plattform. In Oracle Subselects (abgeleiteten Tabellen) benötigen Sie nicht, was Sie einen Alias nennen (in der Tat heißt es _korrelation name_). Ich würde sagen, benutze sie immer als Best Practice. – mustaccio