SELECT句は、文によって生成されるレコードの属性のリストを定義します。
SELECT <expression> AS <attributeKey>[, <expression> AS <key>]*
SELECT Sum(Amount) AS TotalSales
SELECT Sum(Amount) AS TotalSales, TotalSales / 4 AS QuarterAvg
SELECT * AS allRecs
DEFINE ResellerInfo AS SELECT DimReseller_ResellerName, DimGeography_StateProvinceName, DimReseller_Phone FROM SaleState; RETURN Resellers as SELECT * FROM ResellerInfo
この問合せは初めに、3つの属性のデータから(ResellerInfoという名前の)中間結果を生成し、次にSELECT *を使用してResellerInfoのすべての属性を選択します。
RETURN Results as SELECT * FROM WineState
問合せで、WineState状態はWinesコレクションを参照します。つまり、そのコレクションのすべてのレコードが返されます。
DEFINE Reseller AS SELECT DimReseller_ResellerKey, DimReseller_ResellerName, DimReseller_AnnualSales FROM SaleState; DEFINE Orders AS SELECT FactSales_ResellerKey, FactSales_SalesAmount FROM SaleState; RETURN TopResellers AS SELECT R.*, O.FactSales_SalesAmount FROM Reseller R JOIN Orders O on (R.DimReseller_ResellerKey = O.FactSales_ResellerKey) WHERE O.FactSales_SalesAmount > 10000
この例では、式R.*(RETURN TopResellers文の中にある)が拡張されて、DEFINE Reseller文で選択されたすべての属性が含まれるようになります。
SELECT Amt, **にAmtという名前の属性が含まれる場合、SELECTでEQLエラー「属性"Amt"は複数回定義されています」がトリガーされます。
SELECT * FROM a JOIN b ON (...)
aとbの両方に同じ名前の属性がある場合は、問合せによって前述と同じEQLエラーがトリガーされます。JOINの両側で共有される属性の1つがリストされます。エラー・メッセージに問題のある文の名前が示されることに注意してください。