次の方法で共有


エイリアス化 (Azure Synapse Analytics、Parallel Data Warehouse)

適用対象: Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス

別名を利用すると、Azure Synapse Analytics または Analytics Platform System (PDW) SQL クエリで、テーブルや列の名前の代わりに短くて覚えやすい文字列を一時的に代用できます。 JOIN構文では列を参照するときに完全修飾オブジェクト名が必要であるため、テーブルエイリアスはJOINクエリでよく使用されます。

別名には、オブジェクトの名前付け規則に準拠した 1 つの言葉を指定する必要があります。 詳細については、「 Database 識別子」を参照してください。 別名には、空のスペースを含めることができません。別名は一重引用符や二重引用符で囲むことができません。

構文

object_source [ AS ] alias

引数

object_source

ソース テーブルまたは列の名前。

AS

省略可能な別名の前置詞。 範囲変数の別名を使用するとき、AS キーワードは禁止されます。

alias

テーブルまたは列の目的の一時的な参照名。 あらゆる有効な名前を使用できます。 詳細については、Analytics Platform System (PDW) 製品ドキュメントの「オブジェクトの名前付け規則」を参照してください。

例: Azure Synapse Analytics、Analytics Platform System (PDW)

次の例では、クリエに複数の結合が含まれています。 この例では、テーブルと列の両方の別名を確認できます。 これらの例では、 AdventureWorks サンプル データベースを使用します。

  • 列の別名:この例では、列と選択リストに列を含む式の両方に別名が与えられています。 SalesTerritoryRegion AS SalesTR では、単純な列の別名を確認できます。 Sum(SalesAmountQuota) AS TotalSales では、式の別名を確認できます。

  • テーブル別名: dbo.DimSalesTerritory AS st では、dbo.DimSalesTerritory テーブルに st という別名を作成しています。

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