目次 目次 タイトルおよび著作権情報 1 SQL for Oracle NoSQL Databaseの概要 SQLプログラム EBNF構文 コメント 識別子 リテラル 演算子の優先順位 予約語 大/小文字の区別 制約 2 Oracle NoSQL Databaseデータ・モデル アトミック・データ型 複合データ型 JSONデータ型 ワイルドカード・データ型 データ型の階層 データ型定義 3 ネームスペース管理 CREATE NAMESPACE文 SHOW NAMESPACES文 DROP NAMESPACE文 ネームスペース解決 ネームスペース・スコープ指定権限 ネームスペースへの認可アクセス権の付与 4 リージョン管理 CREATE REGION文 SHOW REGIONS文 DROP REGION文 5 表管理 CREATE TABLE文 SHOW TABLES文 DESCRIBE TABLE文 表階層 IDENTITY列の使用 IDENTITY列を持つ表の作成 UUIDデータ型の使用 MR_COUNTERデータ型の使用 複数リージョン表でのCRDTデータ型の使用 MR_COUNTERデータ型を使用した表の作成 順序ジェネレータ DROP TABLE文 ALTER TABLE文 IDENTITY列の変更 UUID列の追加または削除 IDENTITY列の追加または削除 MR_COUNTER列の追加または削除 6 SQL問合せ管理 式 順序 順序タイプ 変数宣言 SELECT式 FROM句 WHERE句 GROUP BY句 集計関数の使用 順序集計関数 ORDER BY句 SELECT句 LIMIT句 OFFSET句 パス式 フィールド・ステップ式 マップフィルタ・ステップ式 配列フィルタ・ステップ式 配列スライス・ステップ式 比較式 論理演算子: AND、ORおよびNOT IS NULL演算子とIS NOT NULL演算子 値比較演算子 順序比較演算子 BETWEEN演算子 IN演算子 正規表現の条件 Exists演算子 Is-Of-Type演算子 連結演算子 算術式 1次式 カッコ内の式 定数式 列参照 変数参照 配列およびマップ・コンストラクタ CASE式 CAST式 EXTRACT式 関数コール 順序変換式 配列およびマップのネスト解除 例: GROUP BY句でのネスト解除の使用 結合 NESTED TABLES句を使用した同じ階層内の複数表の問合せ 例: NESTED TABLES句を使用した同じ階層内の複数表の問合せ 左外部結合(LOJ) LOJを使用する様々なシナリオ LOJの制限事項 ネストされた表とLOJ 例: 左外部結合の使用 7 データ行管理 INSERT文 IDENTITY列を含む行の挿入 UUID列を含む表への行の挿入 MR_COUNTER列を含む行の挿入 Upsert文 UUID列を含む表の行の更新 DELETE文 UPDATE文 UPDATE句 SET句 ADD句 PUT句 REMOVE句 SET TTL句 IDENTITY列を含む行の更新 MR_COUNTER列を含む行の更新 例: 行の更新 例: JSONデータの更新 例: TTLの更新 例: GENERATED ALWAYSとして定義されたIDENTITYの更新 例: GENERATED BY DEFAULTとして定義されたIDENTITYの更新 8 索引 索引について CREATE INDEX文 索引の分類 単一フィールド索引 コンポジット索引 固定スキーマ索引 JSON索引 単純索引 複数キー索引 ネストされた複数キー索引 コンポジット複数キー索引 複数キー索引の仕様および制限 関数の索引 関数の索引の作成例 SHOW INDEXES文 DESCRIBE INDEX文 DROP INDEX文 付録 9 問合せの最適化 問合せの最適化での索引の使用 適用可能な索引の検索 例: 問合せの最適化での索引の使用 UNNEST句を使用したネスト解除問合せの最適化 最適な適用可能索引の選択 付録 10 問合せ計画 問合せ計画の概要 問合せ実行計画の例 例1: 索引スキャンのみが含まれる問合せ計画でのカバー索引の使用 例2: 索引スキャンと索引条件が含まれる問合せ計画でのカバー索引の使用 例3: 索引スキャンが含まれる問合せ計画での非カバー索引の使用 例4: カバー索引を使用したデータのソート 例5: 索引に含まれていないフィールドを使用したデータのソート 例6: カバー索引を使用したデータのグループ化 例7: 索引に含まれていないフィールドを使用したデータのグループ化 11 GeoJsonデータ管理 GeoJsonデータについて 線および座標系 GeoJsonデータに関する制限事項 GeoJsonデータの検索 GeoJsonデータの索引付け 12 組込み関数 複合値の関数 順序の関数 タイムスタンプの関数 荷物スキーマの作成と移入 timestamp_add関数 timestamp_diff関数とget_duration関数 その他のタイムスタンプ関数 UUID文字列を生成する関数 行の関数 GeoJsonデータの関数 文字列の関数 substring関数 concat関数 upper関数 lower関数 trim関数 ltrim関数 rtrim関数 length関数 contains関数 starts_with関数 ends_with関数 index_of関数 replace関数 reverse関数 文字列をJSONに変換する関数