ADO.NET Provider for Microsoft Power BI XMLA

Build 23.0.8839

SELECT ステートメント

SELECT ステートメントは次の基本的な句で構成できます。

  • SELECT
  • INTO
  • FROM
  • JOIN
  • WHERE
  • GROUP BY
  • HAVING
  • UNION
  • ORDER BY
  • LIMIT

SELECT 構文

次の構文ダイアグラムは、本製品 のSQL エンジンでサポートされている構文の概要を示します。

SELECT {
  [ TOP <numeric_literal> | DISTINCT ]
  { 
    * 
    | { 
        <expression> [ [ AS ] <column_reference> ] 
        | { <table_name> | <correlation_name> } .* 
      } [ , ... ] 
  }
  [ INTO csv:// [ filename= ] <file_path> [ ;delimiter=tab ] ]
  { 
    FROM <table_reference> [ [ AS ] <identifier> ] 
  } [ , ... ]
  [ [  
      INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } 
    ] JOIN <table_reference> [ ON <search_condition> ] [ [ AS ] <identifier> ] 
  ] [ ... ] 
  [ WHERE <search_condition> ]
  [ GROUP BY <column_reference> [ , ... ]
  [ HAVING <search_condition> ]
  [ UNION [ ALL ] <select_statement> ]
  [ 
    ORDER BY 
    <column_reference> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]
  ]
  [ 
    LIMIT <expression>
    [ 
      { OFFSET | , }
      <expression> 
    ]
  ] 
}

<expression> ::=
  | <column_reference>
  | @ <parameter> 
  | ?
  | COUNT( * | { [ DISTINCT ] <expression> } )
  | { AVG | MAX | MIN | SUM | COUNT } ( <expression> ) 
  | NULLIF ( <expression> , <expression> ) 
  | COALESCE ( <expression> , ... ) 
  | CASE <expression>
      WHEN { <expression> | <search_condition> } THEN { <expression> | NULL } [ ... ]
    [ ELSE { <expression> | NULL } ]
    END 
  | {RANK() | DENSE_RANK()} OVER ([PARTITION BY <column_reference>] {ORDER BY <column_reference>})
  | <literal>
  | <sql_function> 

<search_condition> ::= 
  {
    <expression> { = | > | < | >= | <= | <> | != | LIKE | NOT LIKE | IN | NOT IN | IS NULL | IS NOT NULL | AND | OR | CONTAINS | BETWEEN } [ <expression> ]
  } [ { AND | OR } ... ] 

サンプル

  1. すべてのカラムを返す:
    SELECT * FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer
  2. カラムをリネームする:
    SELECT [Education] AS MY_Education FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer
  3. カラムのデータを別のデータ型としてキャストする:
    SELECT CAST(AnnualRevenue AS VARCHAR) AS Str_AnnualRevenue FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer
  4. データを検索する:
    SELECT * FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer WHERE Country = 'Australia'
  5. クエリ条件に一致するアイテムの数を返す:
    SELECT COUNT(*) AS MyCount FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer 
  6. クエリ条件に一致する一意のアイテムの数を返す:
    SELECT COUNT(DISTINCT Education) FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer 
  7. クエリ条件に一致する一意のアイテムを返す:
    SELECT DISTINCT Education FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer 
  8. 昇順で結果をソートする:
    SELECT Country, Education FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer  ORDER BY Education ASC
  9. 指定した行数に結果を制限する:
    SELECT Country, Education FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer LIMIT 10 
  10. 実行時にインプットに渡すためクエリをパラメータ化する。これにより、prepared statement を作成しSQL インジェクション攻撃を鎮めることができます:
    SELECT * FROM [AdventureWorksDW2012Multidimensional-SE].[Adventure Works].Customer WHERE Country = @param
オフラインモードでSELECT ステートメントを使う方法については、明示的なデータのキャッシュ を参照してください。

集計関数

集計関数を使用したSELECT の例については集計関数 を参照してください。

JOIN クエリ

JOIN を使用したSELECT クエリの例についてはJOIN クエリ を参照してください。

日付リテラル関数

日付リテラル関数 には、日付リテラル関数を使用したSELECT 例が含まれています。

Window 関数

Window 関数を含むSELECT 例については、Window 関数 を参照してください。

テーブル値関数

テーブル値関数を使用したSELECT 例については、テーブル値関数 を参照してください。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839