SAPHANA-SQL式
式は、値を返す句を評価するために使用されます。HANAで使用できるさまざまなSQL式があります-
- ケース式
- 関数式
- 集計式
- 式のサブクエリ
ケース式
これは、SQL式で複数の条件を渡すために使用されます。これにより、SQLステートメントでプロシージャを使用せずにIF-ELSE-THENロジックを使用できます。
例
SELECT COUNT( CASE WHEN sal < 2000 THEN 1 ELSE NULL END ) count1,
COUNT( CASE WHEN sal BETWEEN 2001 AND 4000 THEN 1 ELSE NULL END ) count2,
COUNT( CASE WHEN sal > 4000 THEN 1 ELSE NULL END ) count3 FROM emp;
このステートメントは、渡された条件に従って整数値を持つcount1、count2、count3を返します。
関数式
関数式には、式で使用されるSQL組み込み関数が含まれます。
集計式
集計関数は、合計、パーセンテージ、最小、最大、カウント、最頻値、中央値などの複雑な計算を実行するために使用されます。集計式は、集計関数を使用して、複数の値から単一の値を計算します。
Aggregate Functions−合計、カウント、最小、最大。これらはメジャー値(ファクト)に適用され、常にディメンションに関連付けられます。
一般的な集計関数は次のとおりです。
- 平均()
- カウント ()
- 最大()
- 中央値()
- 最小()
- モード()
- 合計()
式のサブクエリ
式としてのサブクエリはSelectステートメントです。式で使用すると、ゼロまたは単一の値を返します。
サブクエリは、取得するデータをさらに制限するための条件としてメインクエリで使用されるデータを返すために使用されます。
サブクエリは、SELECT、INSERT、UPDATE、およびDELETEステートメントとともに、=、<、>、> =、<=、IN、BETWEENなどの演算子とともに使用できます。
サブクエリが従わなければならないいくつかのルールがあります-
サブクエリは括弧で囲む必要があります。
サブクエリのメインクエリに複数の列があり、選択した列を比較しない限り、サブクエリはSELECT句に1つの列しか含めることができません。
メインクエリではORDERBYを使用できますが、ORDERBYをサブクエリで使用することはできません。GROUP BYを使用して、サブクエリでORDERBYと同じ機能を実行できます。
複数の行を返すサブクエリは、IN演算子などの複数の値演算子でのみ使用できます。
SELECTリストには、BLOB、ARRAY、CLOB、またはNCLOBに評価される値への参照を含めることはできません。
サブクエリを集合関数ですぐに囲むことはできません。
BETWEEN演算子は、サブクエリでは使用できません。ただし、BETWEEN演算子はサブクエリ内で使用できます。
SELECTステートメントを使用したサブクエリ
サブクエリは、SELECTステートメントで最も頻繁に使用されます。基本的な構文は次のとおりです-
例
SELECT * FROM CUSTOMERS
WHERE ID IN (SELECT ID
FROM CUSTOMERS
WHERE SALARY > 4500) ;
+----+----------+-----+---------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+---------+----------+
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+---------+----------+