# Select

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm) ODBC データ ソースまたは OLE DB プロバイダの項目選択は、標準的な SQL SELECT ステートメントを介して実行されます。ただし、SELECT ステートメントが許可されるかどうかは、使用する ODBC ドライバまたは OLE DB プロバイダによって異なります。 SELECT ステートメントを使用するには、ソースへのオープン データ接続が必要です。

構文:

Select [all | distinct | distinctrow | top n [percent] ] fieldlist

From tablelist

[where criterion ]

[group by fieldlist [having criterion ] ]

[order by fieldlist [asc | desc] ]

[ (Inner | Left | Right | Full) join tablename on fieldref = fieldref ]

さらに、union 演算子を使用して、複数の SELECT ステートメントを １ つに連結できる場合があります。

selectstatement Union selectstatement

SELECTステートメントは、ODBCドライバまたは OLE DB プロバイダによって解釈されるため、ODBC ドライバまたはOLE DB プロバイダの機能の違いにより、一般的な SQL 構文との差が生じる場合があります。

* as を使用できない場合があります。(その場合、aliasname は必ず fieldname の直後に記述する必要があります。)
* aliasname を使用すると as の記述が必要になる場合があります。
* distinct、as、where、group by、order by、union は、使用できないことがあります。
* ODBC ドライバによっては、前述した引用符の一部を使用できない場合があります。

情報メモこれは、SQL SELECT ステートメントのすべてを説明したものではありません。例えば、SELECT ステートメントはネストしたり、複数の結合を 1 つの SELECT ステートメントで実行したり、数式で膨大な関数を使用できる場合があります。

引数：

引数

| 引数 | 説明 |
| --- | --- |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)<br>distinct | distinct は、選択した項目の値の組み合わせが重複している場合に 1 回だけロードする際に使用する述語です。 |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm) distinctrow | distinctrow は、ソース テーブルに含まれるレコードが重複している場合に 1 回だけロードする際に使用する述語です。 |
| fieldlist | fieldlist ::= (\*\| field ) {, field }<br><br>選択する項目のリスト。\* を使用すると、テーブルのすべての項目が指定されます。<br><br>fieldlist ::= field {, field }<br><br>コンマで区切られた 1 つまたは複数の項目のリスト。<br><br>field ::= ( fieldref \| expression ) [as aliasname ]<br><br>数式には、他の項目に基づいた数値や文字列関数を 1 つまたは複数使用できます。通常使用できる演算子および関数には、+、-、\*、/、& (文字連結)、sum(fieldname)、count(fieldname)、avg(fieldname)(average)、month(fieldname) などがあります。詳細については、ODBC ドライバのマニュアルを参照してください。<br><br>fieldref ::= [ tablename. ] fieldname<br><br><br>tablename と fieldname は、それぞれの名前を示すテキスト文字列です。スペースなどを含む場合は、ストレート二重引用符で囲む必要があります。<br><br>項目に新しい名前を割り当てるには、as 句を使用します。 |
| from | tablelist ::= table {, table }<br><br>項目が選択されるテーブルのリスト。<br><br>table ::= tablename [ [as ] aliasname ]<br><br>tablename は、引用符で囲むことも囲まないことも可能です。<br><br>[From](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/From.htm) |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)<br>where | where 節は、レコードを選択に含めるかどうかを示します。<br><br>criterion は論理式で、非常に複雑になる場合があります。使用できる演算子には、数値演算子と関数 =、&lt;&gt; または #(等号否定)、&gt;、&gt;=、&lt;、&lt;=、and、or、not、exists、some、all、in、および新しい SELECT ステートメントがあります。詳細については、ODBCドライバまたは OLE DB プロバイダのマニュアルを参照してください。 |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)<br>group by | group by 節は、複数のレコードを 1 つに集計 (グループ化) する際に使用します。1 つのグループに含まれる特定の項目のレコードは、すべて同じ値を持たなければなりません。そうでない場合は、項目は sum または average などの数式内でのみ使用する必要があります。1 つまたは複数の項目に基づいた数式は、項目記号の数式で定義されます。 |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)<br>having | having 節は、レコードを修飾する where 節と同様の方法で、グループを修飾する際に使用します。 |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)<br>order by | order by 節は、SELECT ステートメントの結果のテーブルのソート順を示します。 |
| [](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)<br>join | join 修飾子は、複数のテーブルを 1 つに結合することを示します。項目名とテーブル名に、スペースや各国語文字セットが含まれる場合は、引用符で囲む必要があります。Qlik Senseで自動生成されるスクリプトについては、Connectステートメントのデータ ソース定義で指定される ODBC ドライバまたは OLE DB プロバイダ推奨の引用符が使用されます。 |

例1：

``SELECT * 
 FROM `Categories`;``

例2：

``SELECT `Category 
 ID`, `Category Name` FROM `Categories`;``

例3：

``SELECT `Order 
 ID`, `Product ID`,`` `` `Unit Price` 
 * Quantity * (1-Discount) as NetSales `` ``FROM `Order 
 Details`;``

例4：

``SELECT `Order 
 Details`.`Order ID`,`` `` Sum(`Order 
 Details`.`Unit Price` * `Order Details`.Quantity) as `Result` `` ``FROM `Order 
 Details`, Orders`` `` where Orders.`Order 
 ID` = `Order Details`.`Order ID` `` ``group 
 by `Order Details`.`Order ID`;``

## 詳細を見る

* [Join](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)