Поделиться через


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

Область применения: конечная точка аналитики платформы Аналитики Azure Synapse Analytics (PDW) в хранилище Microsoft Fabric в Microsoft Fabric

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

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

Синтаксис

object_source [ AS ] alias

Аргументы

object_source

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

AS

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

alias

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

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

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

  • Присвоение псевдонимов столбцам: в этом примере используются столбцы и выражения, включающие столбцы, в списке. 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;  

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

-- 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;