結果セット列名の割り当て
AS 句を使用すると、結果セット列の名前を変更したり、派生列に名前を割り当てたりすることができます。
テーブルまたはビューの列への参照によって結果セット列が定義されている場合、結果セット列の名前は参照した列の名前と同じになります。AS 句を使用すると、結果セット列に異なる名前、つまり別名を割り当てることができます。結果セット列に別名を割り当てると、列名が読みやすくなります。次に例を示します。
USE AdventureWorks2008R2;
GO
SELECT BusinessEntityID AS "Employee Identification Number"
FROM HumanResources.Employee;
派生列とは、選択リスト内で列への単純な参照以外のものとして指定された列です。AS 句を使用して名前を割り当てない限り、派生列に名前はありません。次の例では、AS 句を削除した場合に、DATEDIFF 関数を使用して指定した派生列には名前が付かないことを示します。
SELECT SalesOrderID,
DATEDIFF(dd, ShipDate, GETDATE() ) AS DaysSinceShipped
FROM AdventureWorks2008R2.Sales.SalesOrderHeader
WHERE ShipDate IS NOT NULL ;
AS 句は、ISO 規格で定義された、結果セット列に名前を割り当てるための構文です。SQL Server 2005 では、この構文を使用することをお勧めします。
column_name AS column_alias
または
result_column_expression AS derived_column_name
Transact-SQL では、以前のバージョンの SQL Server との互換性を維持するために、次の構文がサポートされます。
column_alias = column_name
または
derived_column_name = result_column_expression
たとえば、前述の例は次のように記述できます。
SELECT SalesOrderID,
DaysSinceShipped = DATEDIFF(dd, ShipDate, GETDATE() )
FROM AdventureWorks2008R2.Sales.SalesOrderHeader
WHERE ShipDate IS NOT NULL