Псевдонимы (Azure Synapse Analytics, Parallel Data Warehouse)

Область применения:Azure Synapse Analytics Analytics Platform System (PDW)SQL analyticsв хранилище Microsoft Fabric в Microsoft Fabric

Псевдоним позволяет временно заменить короткую и простую строку вместо имени таблицы или столбца в запросах SQL Azure Synapse Analytics или Analytics Platform System (PDW). Псевдонимы таблиц часто используются в запросах JOIN, так как при ссылках на столбцы для синтаксиса JOIN требуются полные имена объектов.

Псевдонимы должны быть отдельными словами, соответствующими правилам именования объектов. Дополнительные сведения см. в разделе "Правила именования объектов" в документации по Системе платформы аналитики (PDW). Псевдонимы не могут содержать пробелы и не могут заключаться в одинарные или двойные кавычки.

Синтаксис

object_source [ AS ] alias

Аргументы

object_source
Имя исходной таблицы или столбца.

AS
Необязательная препозиция псевдонима. При работе с псевдонимами переменных диапазона ключевое слово AS запрещено использовать.

alias Требуемое временное ссылочное имя для таблицы или столбца. Можно использовать любое допустимое имя объекта. Дополнительные сведения см. в разделе "Правила именования объектов" в документации по Системе платформы аналитики (PDW).

Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)

В следующем примере показан запрос с несколькими соединениями. В этом примере демонстрируется присвоение псевдонимов для таблиц и столбцов.

  • Присвоение псевдонимов столбцам: в этом примере используются столбцы и выражения, включающие столбцы, в списке. SalesTerritoryRegion AS SalesTR демонстрирует простой псевдоним столбца. Sum(SalesAmountQuota) AS TotalSales демонстрирует

  • задание табличных псевдонимов: dbo.DimSalesTerritory AS stпоказывает создание псевдонима stдля dbo.DimSalesTerritory таблицы.

-- Uses AdventureWorks

SELECT LastName, SUM(SalesAmountQuota) AS TotalSales, SalesTerritoryRegion AS SalesTR,  
    RANK() OVER (PARTITION BY SalesTerritoryRegion ORDER BY SUM(SalesAmountQuota) DESC ) AS RankResult  
FROM dbo.DimEmployee AS e  
INNER JOIN dbo.FactSalesQuota AS sq ON e.EmployeeKey = sq.EmployeeKey  
INNER JOIN dbo.DimSalesTerritory AS st ON e.SalesTerritoryKey = st.SalesTerritoryKey  
WHERE SalesPersonFlag = 1 AND SalesTerritoryRegion != N'NA'  
GROUP BY LastName, SalesTerritoryRegion;  

Ключевое слово можно исключить, как показано ниже, но для удобства чтения оно часто остается.

-- Uses AdventureWorks

SELECT LastName, SUM(SalesAmountQuota) TotalSales, SalesTerritoryRegion SalesTR,  
RANK() OVER (PARTITION BY SalesTerritoryRegion ORDER BY SUM(SalesAmountQuota) DESC ) RankResult  
FROM dbo.DimEmployee e  
INNER JOIN dbo.FactSalesQuota sq ON e.EmployeeKey = sq.EmployeeKey  
INNER JOIN dbo.DimSalesTerritory st ON e.SalesTerritoryKey = st.SalesTerritoryKey  
WHERE SalesPersonFlag = 1 AND SalesTerritoryRegion != N'NA'  
GROUP BY LastName, SalesTerritoryRegion;  

Следующие шаги