プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

SELECT句

SELECT句は、文によって作成されるレコードの属性リストを定義します。

この構文は、次のとおりです:
SELECT <expression> AS <attributeKey>[, <expression> AS <key>]*
次に例を示します。
SELECT Sum(Amount) AS TotalSales
属性定義は、次の例に示すように、事前定義された属性を参照できます:
SELECT Sum(Amount) AS TotalSales, TotalSales / 4 AS QuarterAvg

注意:

SELECT句で定義された属性を文のGROUP句で使用する場合、その式はソース属性およびGROUP句で使用されるその他の属性のみを参照できます。 集計を含めることはできません。

SELECT *の使用

SELECT *では、指定されたレコード・ソースから一度にすべての属性を選択します。 SELECT *を使用するためのルールは、次のとおりです:
  • コレクションに対してSELECT *を使用できます。 文のFROM句によって、(コレクション名を参照する)名前付きの状態が指定されます。 非常に大きなコレクションからすべてのレコードを取り出す場合は、多少時間がかかる可能性があることに注意してください。
  • SELECT *文ではAS句を使用できません。 たとえば、次の問合せではエラーが戻されます:
    SELECT * AS allRecs
  • SELECT *はグループ化文では使用できません。
  • SELECT *拡張には、ソース文内のLET句で定義されたグループ化キーが含まれます。
たとえば、次の単純な問合せがあるとします:
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コレクションを参照しています。これはそのすべてのコレクション・レコードが返されることを意味します。

また、次の例に示すように、SELECT *JOIN句とともに使用することもできます:
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

例では、(RETURN TopResellers文内の)式R.*は、DEFINE Reseller文で選択されたすべての属性が含まれるように拡張されます。

文内の同じ名前の属性に関しては、SELECT *句の動作に注意する必要があります。 つまり、次のSELECT句を想定しています:
SELECT Amt, *
*Amtという名前の属性が含まれる場合、SELECTによってEQLエラーがトリガーされます: 属性"Amt"が複数回定義されています。
結合で同様に:
SELECT * FROM a JOIN b ON (...)

abの両方に同じ名前の属性が含まれる場合、問合せは前述と同じEQLエラーをトリガーします。 結合の2つの側が共有する属性の1つをリストします。 エラー・メッセージは、問題のある文名を参照することに注意してください。