ScalarDL TableStore SQL の文法
注記
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このページでは、ScalarDL TableStore SQL でサポートされているコマンドのリストを提供します。
注記
ScalarDL TableStore SQL は PartiQL ベースの言語であり、標準 SQL と完全に互換性があるわけではありません。
DDL
データ定義言語 (DDL) コマンドは、テーブルなどのデータベースオブジェクトの構造を定義および変更するために使用されます。
CREATE TABLE
CREATE TABLE コマンドはテーブルを作成します。
文法
CREATE TABLE <table name> (
<primary key column name> data_type PRIMARY KEY [, <index key column name> data_type,] ...
)
data_type: BOOLEAN | INT | BIGINT | FLOAT | DOUBLE PRECISION | STRING
注意事項
- テーブルを作成する際に厳密なスキーマを指定する必要はありませんが、少なくともプライマリキーカラムを指定する必要があります。
- インデックスキーカラムを指定することで、セカンダリインデックスを作成できます。
- ScalarDL TableStore は、すべての数値データ型 (
INT、BIGINT、FLOAT、およびDOUBLE PRECISION) を JSON 形式でNUMBERデータ型として扱い、それらを区別しません。
例
CREATE TABLE の例は以下の通りです:
-- プライマリキー ("c1") とインデックスキー ("c2"、"c3"、および "c4") を持つテーブルを作成する。
CREATE TABLE tbl (
c1 INT PRIMARY KEY,
c2 STRING,
c3 FLOAT,
c4 BIGINT
);
DML
データ操作言語 (DML) コマンドは、テーブル内のデータのクエリと変更に使用されます。
SELECT
SELECT コマンドは、TableStore で管理されているテーブル内のレコードを取得します。
文法
SELECT projection [, projection] ...
FROM <table name> [AS <alias>] [join_specification [join_specification] ...]
WHERE predicate [AND predicate ...]
projection: * | identifier
join_specification: JOIN <table name> [AS <alias>] ON join_predicate
join_predicate: identifier = identifier
predicate: identifier operator <literal> | identifier IS [NOT] NULL
identifier: [<table name>.]<column name> | [alias.]<column name>
operator: = | <> | != | > | >= | < | <=
注意事項
SELECT句では、JSON レコードオブジェクトのトップレベルフィールドをプロジェクションカラムとして指定できます。JOIN句では、join_predicateは右側のテーブルからプライマリキーカラムまたはインデックスキーカラムのいずれかを含む必要があります。WHERE句では、任意のカラムに対する述語を指定できますが、等価条件またはIS NULL条件でプライマリキーカラムまたはインデックスキーカラムに対する述語を少なくとも 1 つ含める必要があります。