Sap-hana-sql-expressions
提供:Dev Guides
SAP HANA-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組み込み関数が含まれます。
集計式
集計関数は、合計、パーセント、最小、最大、カウント、モード、中央値などの複雑な計算を実行するために使用されます。 集計式は集計関数を使用して、複数の値から単一の値を計算します。
集計関数-合計、カウント、最小、最大。 これらはメジャー値(ファクト)に適用され、常にディメンションに関連付けられます。
一般的な集約関数は次のとおりです-
- 平均()
- カウント ()
- 最大()
- 中央値()
- 最小()
- モード()
- 合計()
式のサブクエリ
式としてのサブクエリはSelectステートメントです。 式で使用される場合、ゼロまたは単一の値を返します。
サブクエリは、取得するデータをさらに制限する条件としてメインクエリで使用されるデータを返すために使用されます。
サブクエリは、=、<、>、> =、⇐、IN、BETWEENなどの演算子とともにSELECT、INSERT、UPDATE、およびDELETEステートメントで使用できます。
サブクエリが従わなければならないいくつかのルールがあります-
- サブクエリは括弧で囲む必要があります。
- サブクエリは、選択された列を比較するサブクエリのメインクエリに複数の列がある場合を除き、SELECT句に1つの列しか含めることができません。
- メインクエリはORDER BYを使用できますが、ORDER BYはサブクエリでは使用できません。 GROUP BYを使用して、サブクエリのORDER BYと同じ機能を実行できます。
- 複数の行を返すサブクエリは、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 |
+----+----------+-----+---------+----------+