SAP HANA SQL: 10 分で基本的なステートメントを学ぶ
⚡ スマートサマリー
SAP HANA SQLは、このプラットフォームの主要なデータベース言語です。スキーマ定義、データ操作、アクセス制御、セッション管理などを、リレーショナルデータベース間でSQLの移植性を高める標準規格に準拠して処理します。

ほとんどの RDBMS データベースは SQL データベース言語として人気がある理由は、強力で、ベンダーに依存せず、標準化されていることです。 SAP HANA は SQL もサポートしています。
In SAP HANAでは、SQLが主なデータベース言語です。
何ですか SAP HANASQL?
SQLはStructured Query Languageの略です。これは、次のようなリレーショナル データベースと通信するための標準言語です。 Oracle, MySQL SQL は、データベース内のデータの保存、取得、変更に使用されます。
SQLを使用することで SAP HANAでは、以下の作業を実行できます。
- スキーマの定義と使用 (CREATE SCHEMA)。
- DML ステートメント (SELECT、UPDATE、INSERT)。
- DDLステートメント(CREATE、ALTER、DROP)
- DCL声明(付与、取消)
- システム管理
- セッション管理
- トランザクション管理
ステートメントは、SQLコンソールから実行されます。 SAP ハナスタジオコマンドラインクライアントから、またはJDBCやODBC経由で接続するアプリケーションからアクセスできます。いずれの場合も、使用する言語は同じです。
SQLステートメントのカテゴリ SAP HANA
すべてのステートメントは、少数のファミリーのいずれかに属します。ステートメントがどのファミリーに属するかを知ることで、ロールバックが可能かどうか、またどのような承認が必要になるかを予測できます。
| カテゴリー | お名前 | 典型的な発言 | 目的 |
|---|---|---|---|
| DDL | データ定義言語 | 作成、変更、削除、名前変更 | スキーマ、テーブル、ビューなどのオブジェクトを定義および変更します。 |
| DML | データ操作言語 | 選択、挿入、更新、削除、アップサート | オブジェクト内に保持されている行を読み取り、変更します。 |
| DCL | データ制御言語 | 許可、取り消し | どのユーザーまたはロールがどのアクションを実行できるかを制御します。 |
| TCL | トランザクション制御言語 | コミット、ロールバック、セーブポイント | 作業単位を確定または破棄する |
| セッション | セッション管理 | スキーマの設定、接続、トランザクションの設定 | 現在の接続を設定します |
| システム | システム管理 | システムの変更、監視ビュー | データベースインスタンス自体を管理します。 |
UPSERTは、すべての言語方言に存在するわけではないため、注目に値します。キーが新規の場合は行を挿入し、キーが既に存在する場合は更新するため、一般的な2つのステートメントからなるパターンが不要になります。
SQLのコメント
コメントを追加して、SQL ステートメントの可読性と保守性を向上させることができます。 SQL にコメントを付けるには XNUMX つの方法があります。
- 一行コメント – Double ハイフン「–」。これは1行のコメントです。
- 複数行コメント – “/* */”。
コメント付きのテキストはすべて SQL パーサーによって無視されます。
-- This is a single line comment SELECT ELEMENT FROM DHK_SCHEMA.TABLE1; /* This is a multiple line comment. Everything between the markers is ignored by the SQL parser. */ SELECT COUNT(*) FROM DHK_SCHEMA.TABLE1;
基本的なSQL構文の例 SAP HANA
以下のステートメントは、スキーマの作成、テーブルの定義、行のロード、およびそれらの読み出しという、日常的な処理サイクルを網羅しています。これらはSQLコンソールで変更せずに実行できます。
1) スキーマを作成します。 スキーマは、その内部で作成されたオブジェクトの所有権を持ち、新しいプロジェクトに必要な最初の要素です。
CREATE SCHEMA DHK_SCHEMA; SET SCHEMA DHK_SCHEMA;
2) 列テーブルを作成します。 カラムストアはデフォルトであり、HANAの分析速度の理由です。行ストアは、書き込み負荷の高い小規模なテーブルの場合にのみ選択されます。
CREATE COLUMN TABLE DHK_SCHEMA.EMPLOYEE ( EMP_ID INTEGER NOT NULL, EMP_NAME NVARCHAR(100), HIRE_DATE DATE, SALARY DECIMAL(10,2), PRIMARY KEY (EMP_ID) );
3) 行の挿入と更新。 INSERT文は行を追加し、UPDATE文は既存の行を変更します。すべての行を変更する必要がある場合を除き、UPDATE文は必ずWHERE句と組み合わせて使用してください。
INSERT INTO DHK_SCHEMA.EMPLOYEE VALUES (1, 'Anita Sharma', '2026-01-15', 55000.00); UPDATE DHK_SCHEMA.EMPLOYEE SET SALARY = 60000.00 WHERE EMP_ID = 1;
4) データを照会する。 SELECT文は、おなじみのWHERE、GROUP BY、HAVING、ORDER BY句をサポートしています。
SELECT EMP_NAME, SALARY FROM DHK_SCHEMA.EMPLOYEE WHERE SALARY > 50000 ORDER BY SALARY DESC;
5) アクセスを許可し、コミットします。 DCLはテーブルを読み取る権限を持つユーザーを制御し、COMMITは作業を永続化します。
GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER; COMMIT;
各列定義のフィールドレベルの詳細は以下に記載されています。 SAP HANAデータ型、および WHERE 句で使用される記号 SAP HANAオペレーター.
SAP HANA SQLと標準SQLの比較
SAP HANAはSQL標準に厳密に準拠しているため、経験豊富な開発者はすぐに生産性を向上させることができます。重要な違いは、標準からの逸脱ではなく、むしろ追加要素です。
| エリア | 標準SQL | SAP HANASQL について |
|---|---|---|
| テーブル収納 | デフォルトでは行指向 | デフォルトでは列ストア、行ストアはオプション |
| 1つのステートメントで挿入または更新 | MERGE(サポートされている場合) | UPSERT、同じ結果を得るためのよりシンプルな構文 |
| 結果セットの制限 | 方言特有の | LIMIT と OFFSET、さらに TOP を追加 |
| 手続きの拡張 | ベンダー固有 | テーブル変数と並列実行を備えたSQLScript |
| 全文検索 | 通常は追加オプション | TEXT列とSHORTTEXT列に組み込まれています |
| 大文字と小文字の区別 | 不定 | 区切り文字のない識別子は大文字になり、区切り文字のある識別子は大文字小文字を区別しない。 |
識別子ルールは最も驚きをもたらします。テーブル名を小文字で二重引用符なしで記述すると大文字で作成され、後で小文字の二重引用符で囲んで選択すると見つかりません。ルールは データ型と識別子 チュートリアルでは、より広いプラットフォームがカバーされています。 SAP HANAチュートリアル シリーズ。
