Select
ODBC データ ソースまたは OLE DB プロバイダの項目選択は、標準的な SQL SELECT ステートメントを介して実行されます。ただし、SELECT ステートメントが許可されるかどうかは、使用する ODBC ドライバまたは OLE DB プロバイダによって異なります。
Syntax:
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 ステートメントを 1 つに連結できる場合があります。
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 ステートメントで実行したり、数式で膨大な関数を使用できる場合があります。
Arguments:
引数
distinct
|
distinct は、選択した項目の値の組み合わせが重複している場合に 1 回だけロードする際に使用する述語です。 |
distinctrow |
distinctrow は、ソース テーブルに含まれるレコードが重複している場合に 1 回だけロードする際に使用する述語です。 |
fieldlist
|
fieldlist ::= (*| field ) {, field }
選択する項目のリスト。* を使用すると、テーブルのすべての項目が指定されます。
fieldlist ::= field {, field }
コンマで区切られた 1 つまたは複数の項目のリスト。
field ::= ( fieldref | expression ) [as aliasname ]
数式には、他の項目に基づいた数値や文字列関数を 1 つまたは複数使用できます。通常使用できる演算子および関数には、+、-、*、/、& (文字連結)、sum(fieldname)、count(fieldname)、avg(fieldname)(average)、month(fieldname) などがあります。詳細については、ODBC ドライバのマニュアルを参照してください。
fieldref ::= [ tablename. ] fieldname
tablename と fieldname は、それぞれの名前を示すテキスト文字列です。スペースなどを含む場合は、ストレート二重引用符で囲む必要があります。 項目に新しい名前を割り当てるには、as 句を使用します。 |
from
|
tablelist ::= table {, table }
項目が選択されるテーブルのリスト。
table ::= tablename [ [as ] aliasname ]
tablename は、引用符で囲むことも囲まないことも可能です。
From
|
where
|
where 節は、レコードを選択に含めるかどうかを示します。 criterion は論理式で、非常に複雑になる場合があります。使用できる演算子には、数値演算子と関数 =、<> または #(等号否定)、>、>=、<、<=、and、or、not、exists、some、all、in、および新しい SELECT ステートメントがあります。詳細については、ODBCドライバまたは OLE DB プロバイダのマニュアルを参照してください。 |
group by
|
group by 節は、複数のレコードを 1 つに集計 (グループ化) する際に使用します。1 つのグループに含まれる特定の項目のレコードは、すべて同じ値を持たなければなりません。そうでない場合は、項目は sum または average などの数式内でのみ使用する必要があります。1 つまたは複数の項目に基づいた数式は、項目記号の数式で定義されます。 |
having
|
having 節は、レコードを修飾する where 節と同様の方法で、グループを修飾する際に使用します。 |
order by
|
order by 節は、SELECT ステートメントの結果のテーブルのソート順を示します。 |
join
|
join 修飾子は、複数のテーブルを 1 つに結合することを示します。項目名とテーブル名に、スペースや各国語文字セットが含まれる場合は、引用符で囲む必要があります。Qlik Senseで自動生成されるスクリプトについては、Connectステートメントのデータ ソース定義で指定される ODBC ドライバまたは OLE DB プロバイダ推奨の引用符が使用されます。 |
Example 1:
SELECT *
FROM `Categories`;
Example 2:
SELECT `Category
ID`, `Category Name` FROM `Categories`;
Example 3:
SELECT `Order
ID`, `Product ID`,
`Unit Price`
* Quantity * (1-Discount) as NetSales
FROM `Order
Details`;
Example 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`;