# ZCQL -------------------------------------------------------------------------------- title: "はじめに" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/introduction/" service: "Cloud Scale" -------------------------------------------------------------------------------- # ZCQL ## はじめに Catalyst Cloud Scale ZCQLは、MySQLやPostgreSQLに似た、Catalyst独自のクエリ言語です。Catalyst Data Store内でデータ操作を実行するために使用されます。Catalystが提供するクエリエンジンとして、ZCQLは開発者がSQL風の構文を使用してデータを操作し、複雑なクエリを高い効率性とスケーラビリティで処理できるようにします。 ZCQLを使用して、Data Storeのテーブルに対して以下の操作を実行できます: * 取得: 既存のテーブルからレコードを取得する * 挿入: 既存のテーブルの既存のカラムにレコードを挿入する * 更新: 既存のテーブルの既存のカラムの値を更新する * 削除: 既存のテーブルからレコードを削除する ZCQLを使用して、SQLのJoin句、Groupby 文、OrderBy文、WHERE句やHAVING句など、さまざまな句や文を使用して特定の条件に基づいてデータを取得または操作するための多様なDMLクエリを実行できます。ZCQLはまた、算術演算を簡単に実行するためのいくつかの組み込みSQL数値関数もサポートしています。 ZCQLクエリは、ファンクションやクライアント コンポーネントなど、Catalystアプリケーションのソースコードに実装できます。たとえば、ファンクションの本文にZCQLクエリを渡して、Data Storeのテーブルからデータを取得し、 さらに処理することができます。 Catalystコンソールには、クエリを実行してレスポンスを表示できるZCQLクエリ実行ウィンドウも用意されています。 これにより、アプリケーションに実装する前にZCQLクエリを簡単にテストできます。 ### SDKおよびAPIドキュメント CatalystはJava、Node.js、Python、Web、Android、iOS、FlutterのSDKパッケージとAPIでZCQLを提供しています。これらのプログラミング環境でZCQL クエリを実行するコードサンプルについては、以下のヘルプページを参照してください: * Execute ZCQL Query - Java SDK * Execute ZCQL Query - Node.js SDK * Execute ZCQL Query - Python SDK * Execute ZCQL Query - Web SDK * Execute ZCQL Query - Android SDK * Execute ZCQL Query - iOS SDK * Execute ZCQL Query - Flutter SDK * Execute ZCQL Query - API 注意: * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 * コードでZCQL V2を使用するには、このヘルプドキュメントに示すように、適切な環境変数を設定する必要があります。 ZCQLのファンクションまたはクライアントコードでの実装のイメージを得るには、Catalystチュートリアルを参照してください。 ### メリット * Catalyst Data Storeでデータの取得、挿入、更新、削除の操作を実行できます * MySQLとの類似性により使いやすく、個別の学習曲線がありません * アプリケーションに実装する前にコンソールでクエリの実行をテストできます * SDKを使用してAPIの本文にZCQLクエリを渡すことができます * ZCQL組み込み関数を使用して結果セットに対して算術および数値演算を実行できます <br /> -------------------------------------------------------------------------------- title: "SELECTの一般構文" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/select/" service: "Cloud Scale" -------------------------------------------------------------------------------- # SELECT ### SELECTの一般構文 ZCQLはSELECTコマンドを使用したデータ取得クエリ操作をサポートしています。このコマンドを使用すると、ベーステーブルからカラムまたはカラムのセットを選択し、コマンドのスコープ内のデータレコードを表示できます。 基本的なZCQLデータ取得操作の一般構文は以下のとおりです: SELECT {COLUMNS} FROM {BASE_TABLE_NAME} [JOIN_CLAUSE] [WHERE {WHERE_CONDITION}] [GROUP BY {GROUP_BY_COLUMN}] [ORDER BY {ORDER_BY_COLUMN}] LIMIT [{OFFSET}],{VALUE} <br /> 注意:<br /> * ベーステーブルは、クエリを実行するテーブルです。 * ZCQLコンソールでZCQLクエリを実行する際、クエリの末尾にステートメント終了デリミタ(;)を使用する必要はありません。 ベーステーブルは、クエリを実行するテーブルです。 各ZCQL操作について、サンプルデータベースとそれに対して実行できるサンプルクエリを使用して詳しく説明します。 サンプルデータベース: ユーザーが都市内のさまざまな劇場の映画リストと上映時間を閲覧し、アプリケーションを使用して映画チケットを予約できるチケット予約アプリケーションを開発しているとします。さまざまな劇場で上映される映画の上映時間リストを含む'Movies'というテーブルを作成しましょう。 _Movies_テーブルのサンプルレコードを以下に示します: <table class="content-table"> <thead> <tr> <th><strong>MovieID</strong></th> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> <th><strong>TheaterID</strong></th> </tr> </thead> <tbody> <tr> <td>2056</td> <td>The First Purge</td> <td>2018-07-13</td> <td>13:00:00</td> <td>047</td> </tr> <tr> <td>2057</td> <td>Ant-Man and the Wasp</td> <td>2018-07-13</td> <td>14:20:00</td> <td>052</td> </tr> <tr> <td>2058</td> <td>Hotel Transylvania 3: Summer Vacation</td> <td>2018-07-14</td> <td>17:00:00</td> <td>052</td> </tr> <tr> <td>2059</td> <td>Skyscraper</td> <td>2018-07-14</td> <td>21:30:00</td> <td>053</td> </tr> </tbody> </table> <br /> ### 基本SELECT SELECT文は、ベーステーブルからカラムを選択してそのレコードを表示するために使用されます。結果セットに表示されるカラムの名前を指定する必要があります。 基本的なSELECT文を使用する構文は以下のとおりです: SELECT column_name(s) FROM base_table_name <br /> 例: _Movies_テーブルから_MovieID_カラムと_MovieName_カラムを選択するには、以下のクエリを実行します: SELECT MovieID, MovieName from Movies <br /> 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>MovieID</strong></th> <th><strong>MovieName</strong></th> </tr> </thead> <tbody> <tr> <td>2056</td> <td>The First Purge</td> </tr> <tr> <td>2057</td> <td>Ant-Man and the Wasp</td> </tr> <tr> <td>2058</td> <td>Hotel Transylvania 3: Summer Vacation</td> </tr> <tr> <td>2059</td> <td>Skyscraper</td> </tr> </tbody> </table> <br /> 整数で命名されたカラムの場合、カラム名と値を区別するためにバッククォート **`** 記号を追加する必要があります。 たとえば、*Numbers*というテーブルの*01*というカラムに対するSELECTクエリは、以下のように記述できます SELECT `01` FROM Numbers<br /> 注意: 1回のSELECTクエリで最大20カラム、最大300行を取得できます。より多くのレコードを取得する必要がある場合は、LIMIT句を使用してクエリを反復し、オフセットと値を適切に指定できます。 <br /> ### SELECT \* SELECT文の後に'\*'を使用することで、特定のカラムからレコードを選択する代わりに、ベーステーブルのすべてのカラムからレコードを取得できます。'\*'はベーステーブルのすべてのカラムを示します。 ベーステーブルからすべてのカラムを選択する構文は以下のとおりです: SELECT * FROM base_table_name <br /> 注意: SELECT \*では、1回のクエリで最大300行を取得できます。より多くのレコードを取得する必要がある場合は、LIMIT句を使用してクエリを反復し、オフセットと値を適切に指定できます。 例: _Movies_テーブルのすべてのカラムからレコードを表示するには、以下のクエリを実行します: SELECT * FROM Movies これにより、_Movies_テーブルのすべてのカラムのレコードが表示されます。 <table class="content-table"> <thead> <tr> <th><strong>MovieID</strong></th> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> <th><strong>TheaterID</strong></th> </tr> </thead> <tbody> <tr> <td>2056</td> <td>The First Purge</td> <td>2018-07-13</td> <td>13:00:00</td> <td>047</td> </tr> <tr> <td>2057</td> <td>Ant-Man and the Wasp</td> <td>2018-07-13</td> <td>14:20:00</td> <td>052</td> </tr> <tr> <td>2058</td> <td>Hotel Transylvania 3: Summer Vacation</td> <td>2018-07-14</td> <td>17:00:00</td> <td>052</td> </tr> <tr> <td>2059</td> <td>Skyscraper</td> <td>2018-07-14</td> <td>21:30:00</td> <td>053</td> </tr> </tbody> </table> SELECT操作で使用できるさまざまな句や文について説明する前に、INSERT、UPDATE、DELETE操作について説明しましょう。 -------------------------------------------------------------------------------- title: "INSERTの一般構文" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/insert/" service: "Cloud Scale" -------------------------------------------------------------------------------- # INSERT ### INSERTの一般構文 テーブルの各カラムに値を渡すことで、テーブルにレコードを挿入できます。 基本的なZCQLデータ挿入操作の一般構文は以下のとおりです: INSERT INTO {BASE_TABLE_NAME} VALUES (VALUE1, VALUE2,..) テーブル内のカラムの順序と同じ順序で値を渡す必要があります。 注意:<br /> * カラムのデータ型に一致する正しい値を指定してください。 * _IsUnique_制約が有効になっているカラムでは、他のレコードに既に存在する値を入力しないでください。同様に、_IsMandatory_バリデーターが有効になっているカラムでは、データ値を空白のままにしないでください。 * データ型がForeign Keyであるカラムの場合、参照する親テーブルのレコードのROWIDをその値として指定する必要があります。 例: _Movies_テーブルにレコードを挿入するには、以下のクエリを実行します: INSERT INTO Movies VALUES (2060,'Mission: Impossible – Fallout', '2018-7-27', '16:00:00', 053) 注意: 挿入する値が文字列値の場合、上記のように値をシングルクォーテーションで囲んで渡す必要があります。 ### 部分挿入 テーブル内の特定のカラムにのみ値を渡すこともできます。値を挿入するカラム名を指定します。部分挿入の構文は以下のとおりです: INSERT INTO {BASE_TABLE_NAME} (COLUMN_NAME1, COLUMN_NAME2,..) VALUES (VALUE1, VALUE2,..) _Movies_テーブルの_MovieID_カラムと_TheaterID_カラムのみにレコードを挿入して値を渡すには、以下のクエリを実行します: INSERT INTO Movies (MovieID, TheaterID) VALUES (2061, 052) <br /> -------------------------------------------------------------------------------- title: "UPDATEの一般構文" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/update/" service: "Cloud Scale" -------------------------------------------------------------------------------- # UPDATE ### UPDATEの一般構文 UPDATEコマンドを使用すると、Data Store内のテーブルの既存レコードの特定のカラム値を更新できます。特定の条件に基づいてカラムの値を更新できます。これらの条件は、後ほど詳しく説明するWHERE句を使用して指定できます。 基本的なZCQLデータ更新操作の一般構文は以下のとおりです: UPDATE {BASE_TABLE_NAME} SET {COLUMN_NAME}={VALUE}[WHERE {WHERE_CONDITION}] 注意:<br /> * カラムのデータ型に一致する正しい値を指定してください。 * _IsUnique_制約が有効になっているカラムでは、他のレコードに既に存在する値を入力しないでください。同様に、_IsMandatory_バリデーターが有効になっているカラムでは、データ値を空白のままにしないでください。 * データ型がForeign Keyであるカラムの場合、参照する親テーブルのレコードのROWIDをその値として指定する必要があります。 例: _Movies_テーブルで_MovieID_で参照される特定の映画名の値を更新するには、以下のクエリを実行します: UPDATE Movies SET MovieName='The Equalizer 2'WHERE MovieID=2056 <br /> 注意: データ挿入と同様に、更新する値が文字列値の場合、値をシングルクォーテーションで囲んで渡す必要があります。 -------------------------------------------------------------------------------- title: "DELETEの一般構文" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/delete/" service: "Cloud Scale" -------------------------------------------------------------------------------- # DELETE ### DELETEの一般構文 DELETEコマンドを使用すると、テーブルから1つ以上のレコードを永久に削除できます。次のセクションで説明するWHERE句を使用して削除するレコードを指定し、条件を設定できます。 基本的なDELETE文の一般構文は以下のとおりです: DELETE FROM {BASE_TABLE_NAME}[WHERE {WHERE_CONDITION}] 例: Moviesテーブルから特定の劇場の特定の上映日のレコードを削除するには、以下のクエリを実行できます: DELETE FROM Movies WHERE MovieID=2059 AND ShowDate='2018-07-14' AND TheaterID=053 <br /> 注意: WHERE条件で文字列値を指定する場合、シングルクォーテーションで囲んで渡す必要があります。 -------------------------------------------------------------------------------- title: "WHERE句" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/where/" service: "Cloud Scale" -------------------------------------------------------------------------------- # WHERE句 ### はじめに WHERE句は、検索クエリで指定された条件または条件のセットに基づいてデータレコードをフィルタリングするために使用されます。WHERE条件がクエリで使用されると、データレコードは指定された条件に基づいて検証され、条件を満たすレコードに対してのみコマンドが実行されます。 たとえば、SELECT文でWHERE条件を使用する構文は以下のとおりです: SELECT column_name(s) FROM base_table_name WHERE condition WHERE条件は、UPDATE文やDELETE文でも使用できます。 <br /> ### WHERE句でサポートされる演算子 ZCQLクエリのWHERE条件で以下の演算子を使用できます: <table class="content-table"> <thead> <tr> <th class="w30p"><strong>演算子</strong></th> <th class="w70p"><strong>説明</strong></th> </tr> </thead> <tbody> <tr> <td>=</td> <td>等しい</td> </tr> <tr> <td>IS</td> <td>オペランドが値と同じ場合にTRUE</td> </tr> <tr> <td>IS NULL</td> <td>オペランドがnull値の場合にTRUE</td> </tr> <tr> <td>IS NOT NULL</td> <td>オペランドがnull値でない場合にTRUE</td> </tr> <tr> <td>!=</td> <td>等しくない</td> </tr> <tr> <td>LIKE</td> <td>オペランドがパターンに一致する場合にTRUE</td> </tr> <tr> <td>NOT LIKE</td> <td>オペランドがパターンに一致しない場合にTRUE</td> </tr> <tr> <td>BETWEEN</td> <td>オペランドの値が開始値と終了値の間にある場合にTRUE</td> </tr> <tr> <td>IN</td> <td>オペランドが式のリストのいずれかと等しい場合にTRUE</td> </tr> <tr> <td>NOT IN</td> <td>オペランドが式のリストのいずれとも等しくない場合にTRUE</td> </tr> <tr> <td>&gt;</td> <td>より大きい</td> </tr> <tr> <td>&gt;=</td> <td>以上</td> </tr> <tr> <td>&lt;</td> <td>より小さい</td> </tr> <tr> <td>&lt;=</td> <td>以下</td> </tr> </tbody> </table> <br /> 例: Moviesテーブルから2018年7月13日以外の日に上映される映画のリストを表示するには、以下のようにWHERE句を使用してクエリに日付条件を指定できます: SELECT MovieName, ShowDate FROM Movies WHERE ShowDate IS '2018-07-14' 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> </tr> </thead> <tbody> <tr> <td>Hotel Transylvania 3: Summer Vacation</td> <td>2018-07-14</td> </tr> <tr> <td>Skyscraper</td> <td>2018-07-14</td> </tr> </tbody> </table> <br /> ### 複数のWHERE条件 1つのクエリで最大5つのWHERE条件を指定できます。複数のWHERE条件を指定する場合、ANDまたはOR演算子を使用して条件を結合できます。ANDとOR演算子の機能は以下のとおりです: * AND: AND演算子に関連付けられた両方の条件を満たすデータレコードのみを生成します。 * OR: OR演算子に関連付けられた条件のいずれかを満たすデータレコードを生成します。 たとえば、SELECT文で複数のWHERE条件を使用する構文は以下のとおりです: SELECT column_name(s) FROM base_table_name WHERE condition_1 AND|OR condition_2.. AND|OR condition_5 例: _Movies_テーブルから7月14日に上映される'The First Purge'または'Skyscraper'の上映日と上映時間のリストを表示するには、以下のクエリを実行します: SELECT MovieName, ShowDate, ShowTime FROM Movies WHERE MovieName='The First Purge' OR MovieName='Skyscraper' AND ShowDate='2018-07-14' 上記の条件に一致するレコードは1つだけです。したがって、クエリは以下の結果を生成します: <table class="content-table"> <thead> <tr> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> </tr> </thead> <tbody> <tr> <td>Skyscraper</td> <td>2018-07-14</td> <td>21:30:00</td> </tr> </tbody> </table> <br /> ### LIKE文 LIKE条件を使用すると、特定の条件を含むレコードを指定し、その条件に一致するすべてのレコードを選択できます。たとえば、取得するレコードが特定のアルファベットで始まる必要がある、または特定の値を含む必要があるように指定できます。 たとえば、UPDATE文でのLIKE条件の構文は以下のとおりです: UPDATE base_table_name SET column_name(s)=value(s) WHERE condition LIKE *value* '\*'は、指定した値の前後、または前後の両方に使用できます。'\*'は本質的にプレースホルダーであり、その代わりに任意の値が置換可能であることを示します。 たとえば、テーブル内のアルファベット'A'で始まるすべてのレコードを取得する必要があることを指定するには、LIKEの値として'A\*'と入力できます。これは、文字Aの後に任意の値が続くことを指定します。 例: _Movies_テーブルで映画名が文字'S'で始まるレコードを更新するには、以下のクエリを実行します: UPDATE Movies SET ShowDate='2018-07-17' WHERE MovieName like 'S*' 以下のレコードが更新され、値が設定されます: <table class="content-table"> <thead> <tr> <th><strong>MovieID</strong></th> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> <th><strong>TheaterID</strong></th> </tr> </thead> <tbody> <tr> <td>2059</td> <td>Skyscraper</td> <td>2018-07-17</td> <td>21:30:00</td> <td>053</td> </tr> </tbody> </table> <br /> LIKE条件文で定義されたZCQL文では、ワイルドカード構文と\*や?などの記号も使用できます。 <table class="content-table"> <thead> <tr> <th class="w30p">ワイルドカード構文</th> <th class="w70p">定義</th> </tr> </thead> <tbody> <tr> <td>\*</td> <td>0個以上の文字に一致</td> </tr> <tr> <td>?</td> <td>正確に1文字に一致</td> </tr> </tbody> </table> ### BETWEEN文 BETWEEN条件を使用すると、数値を含む特定のカラムの開始値と終了値を指定してレコードをフィルタリングできます。たとえば、パーセンテージ値が70から80の間にあるすべてのレコードを選択できます。 たとえば、DELETE文でのBETWEEN条件の構文は以下のとおりです: DELETE FROM base_table_name WHERE condition BETWEEN Value1 AND Value2 <br /> 注意: BETWEEN文は、Catalyst Data Storeテーブルの'Int'または'Double'値の選択にのみ使用できます。他のデータ型には使用できません。 例: _Movies_テーブルでMovieIDの値が2056から2059の間にあるレコードを削除するには、以下のクエリを実行します: DELETE FROM Movies WHERE MovieID BETWEEN 2056 AND 2059 テーブルから以下のレコードが削除されます: <table class="content-table"> <thead> <tr> <th><strong>MovieID</strong></th> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> <th><strong>TheaterID</strong></th> </tr> </thead> <tbody> <tr> <td>2057</td> <td>Ant-Man and the Wasp</td> <td>2018-07-13</td> <td>14:20:00</td> <td>052</td> </tr> <tr> <td>2058</td> <td>Hotel Transylvania 3: Summer Vacation</td> <td>2018-07-14</td> <td>17:00:00</td> <td>052</td> </tr> </tbody> </table> 注意: 正反対の結果を生成するには、NOT BETWEEN文を使用できます。BETWEEN文と同じ構文と条件がNOT BETWEEN文にも適用されます。 <br /> ### カラム対カラムの比較 同じテーブルまたは異なるテーブルの2つのカラムを、比較の左辺と右辺で**カラム名をそれぞれのテーブル名で参照して**比較できます。比較の結果は、テーブル内のcolumn1とcolumn2に同じ値を含む行を返します。 WHERE句でのこの比較サポートは、SELECT、UPDATE、DELETEクエリに適用されます。 以下のデータ型の任意の2つのカラムを比較できます:BOOLEAN、DOUBLE、DATE、DATETIME、ENCRYPTED、VARCHAR、TEXT、INT、BIGINT。 注意: 異なるデータ型の2つのカラムを比較することはできません。 <br /> **SELECT:** 同じテーブル内でのカラム比較の一般構文は以下のとおりです: SELECT * FROM tablename WHERE columnname1 = tablename.columnname2 **例**:<br /> Select MovieName FROM Movies WHERE Actor = Movies.Producer <table class="content-table" style="width:30%"> <thead> <tr> <th>MovieName</th> </tr> </thead> <tbody> <tr> <td>The White River Kid</td> </tr> <tr> <td>Duplex</td> </tr> <tr> <td>Oppenheimer</td> </tr> </tbody> </table> **UPDATE:** UPDATE Movies SET self_produced = "Yes" WHERE Actor = Movies.Producer **DELETE:** DELETE FROM Movies WHERE Actor = Movies.Producer <br /> #### 異なるテーブルのカラムの比較 以下の構文に示すように、2つの異なるテーブルのカラムを比較することもできます: SELECT tablename1.columnname1, tablename2.columnname1 FROM tablename2 LEFT JOIN tablename1 ON tablename2.columnname1 = tablename1.columnname2 WHERE tablename1.columnname1 = tablename2.columnname2 **例**: SELECT Movies.name, Theatres.city from Theatres left join Movies on Theatres.ROWID = Movies.theatreID where Movies.distributionCity = theatre.city <br /> <table class="content-table"> <thead> <tr> <th>Name</th> <th>CIty</th> </tr> </thead> <tbody> <tr> <td>Dark Knight Rises</td> <td>Los Angeles</td> </tr> <tr> <td>Titanic</td> <td>New York</td> </tr> </tbody> </table> <br /> 同様に、UPDATEおよびDELETEクエリの実行時に、2つの異なるテーブルに属するカラムを比較できます。 ### WHERE句でのサブクエリ サブクエリは、別のクエリ文の中に記述されるクエリです。Catalystでは、WHERE句を使用した単純な単一サブクエリを実行できます。SELECT、UPDATE、DELETEクエリでWHERE句を使用したサブクエリを記述できます。 WHERE句を使用したサブクエリの構文は以下のとおりです: SELECT column_name FROM table_name WHERE column_name operator (SELECT column_name FROM table_name) <br /> **サンプルデータベース** Zylker Technologiesの従業員詳細は、Data Storeの*Zylker_Employee_DB*テーブルで管理されています。テーブルには以下のカラムと行が含まれています: <table class="content-table"> <thead> <tr> <th class="w15p">ID</th> <th class="w30p">Name</th> <th class="w30p">Department</th> <th class="w25p">Salary</th> </tr> </thead> <tbody> <tr> <td>ZT-001</td> <td>Amelia Burrows</td> <td>Product Management</td> <td>15000</td> </tr> <tr> <td>ZT-2001</td> <td>Bruce Wayne</td> <td>Sr. Management</td> <td>85000</td> </tr> <tr> <td>ZT-239</td> <td>Clark Kane</td> <td>Media Relations</td> <td>85000</td> </tr> <tr> <td>ZT-4289</td> <td>Michelle Mascarenhas</td> <td>Finance</td> <td>89000</td> </tr> </tbody> </table> 最低給与の従業員よりも高い給与を受け取る従業員の給与と名前をリストするサブクエリ文の例を以下に示します: SELECT Name, Salary FROM Zylker_Employee_DB WHERE Salary > (SELECT MIN (Salary) FROM Zylker_Employee_DB) <br /> <br /> <table class="content-table"> <thead> <tr> <th class="w50p">Zylker_Employee_DB.Salary</th> <th class="w50p">Zylker_Employee_DB.Name</th> </tr> </thead> <tbody> <tr> <td>15000</td> <td>Amelia Burrows</td> </tr> <tr> <td>85000</td> <td>Bruce Wayne</td> </tr> <tr> <td>89000</td> <td>Michelle Mascarenhas</td> </tr> </tbody> </table> 注意: * この機能はZCQL V2でのみ利用可能です。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 <br /> -------------------------------------------------------------------------------- title: "HAVING句" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/having/" service: "Cloud Scale" -------------------------------------------------------------------------------- # HAVING句 ### はじめに HAVING句は、指定された条件に基づいてデータレコードを選択するために使用されます。この句を使用して、クエリにZCQL関数を適用することもできます。HAVING句は、SELECTクエリでのみ使用できます。 HAVING句を使用する構文を以下に示します: SELECT column_name FROM base_table_name GROUP BY column_name HAVING column_name OPERATOR condition ### HAVING句でサポートされる演算子 ZCQLのSELECTクエリのHAVING条件で以下の演算子を使用できます: <table class="content-table"> <thead> <tr> <th class="w25p">演算子</th> <th class="w75p">説明</th> </tr> </thead> <tbody> <tr> <td>=</td> <td>等しい</td> </tr> <tr> <td>IS</td> <td>オペランドが値と同じ場合にTRUE</td> </tr> <tr> <td>IS NULL</td> <td>オペランドがnull値の場合にTRUE</td> </tr> <tr> <td>IS NOT NULL</td> <td>オペランドがnull値でない場合にTRUE</td> </tr> <tr> <td>=!</td> <td>等しくない</td> </tr> <tr> <td>LIKE</td> <td>オペランドがパターンに一致する場合にTRUE</td> </tr> <tr> <td>NOT LIKE</td> <td>オペランドがパターンに一致しない場合にTRUE</td> </tr> <tr> <td>BETWEEN</td> <td>オペランドの値が開始値と終了値の間にある場合にTRUE</td> </tr> <tr> <td>IN</td> <td>オペランドが式のリストのいずれかと等しい場合にTRUE</td> </tr> <tr> <td>NOT IN</td> <td>オペランドが式のリストのいずれとも等しくない場合にTRUE</td> </tr> <tr> <td>&gt;</td> <td>より大きい</td> </tr> <tr> <td>&gt;=</td> <td>以上</td> </tr> <tr> <td>&lt;</td> <td>より小さい</td> </tr> <tr> <td>&lt;=</td> <td>以下</td> </tr> </tbody> </table> ### HAVING句でのZCQL関数 ZCQL関数のSUM()、COUNT()、AVG()などを、SELECTクエリのHAVING句で使用できます。 **サンプルデータベース**: Zylker Technologiesの従業員詳細は、Data Storeの*Zylker_Employee_DB*テーブルで管理されています。テーブルには以下のカラムと行が含まれています: <table class="content-table"> <thead> <tr> <th class="w15p">ID</th> <th class="w30p">Name</th> <th class="w30p">Department</th> <th class="w25p">Salary</th> </tr> </thead> <tbody> <tr> <td>ZT-001</td> <td>Amelia Burrows</td> <td>Product Management</td> <td>15000</td> </tr> <tr> <td>ZT-2001</td> <td>Bruce Wayne</td> <td>Sr. Management</td> <td>85000</td> </tr> <tr> <td>ZT-239</td> <td>Clark Kane</td> <td>Media Relations</td> <td>85000</td> </tr> <tr> <td>ZT-4289</td> <td>Michelle Mascarenhas</td> <td>Finance</td> <td>89000</td> </tr> </tbody> </table> AVG() ZCQL関数を、HAVING句を使用したSELECTクエリの例で使用してみましょう。 <br /> SELECT Name, Department, Salary FROM Zylker_Employee_DB GROUP BY Department HAVING AVG(Salary) > 50000 <br /> <table class="content-table"> <thead> <tr> <th class="w30p">Zylker_Employee_DB.Salary</th> <th class="w35p">Zylker_Employee_DB.Department</th> <th class="w35p">Zylker_Employee_DB.Name</th> </tr> </thead> <tbody> <tr> <td>85000</td> <td>Sr. Management</td> <td>Bruce Wayne</td> </tr> <tr> <td>89000</td> <td>Finance</td> <td>Michelle Mascarenhas</td> </tr> </tbody> </table> 注意: * この機能はZCQL V2でのみ利用可能です。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 -------------------------------------------------------------------------------- title: "JOIN句" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.905Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/joins/" service: "Cloud Scale" -------------------------------------------------------------------------------- # JOIN句 ### はじめに JOIN句は、SELECTクエリで、2つ以上のテーブルの関連するカラムに基づいて行を結合するために使用されます。すべてのテーブルの行が共通のカラムで結合されて一緒に生成されます。 JOIN句について詳しく学ぶ前に、JOINに関連するいくつかの主要用語を理解しましょう: 1. 主キー: 主キーは、テーブル内のレコードの一意の識別子です。テーブルは1つのカラムを主キーカラムとして持つことができ、このカラム内の各レコードの値は一意でなければならず、必須で、重複できません。 2. 外部キー:あるテーブルの外部キーカラムは、別のテーブルまたは同じテーブルの行を一意に識別します。2番目のテーブルの外部キーは、1番目のテーブルの主キーを参照します。 3. 親テーブル:JOIN句において、親テーブルはJOINの基準となるベーステーブルです。 4. 結合テーブル:結合テーブルは、JOIN句で親テーブルと結合されるセカンダリテーブルまたは子テーブルです。 注意: 2つのテーブル間のJOINは、テーブル間にリレーションシップがある場合にのみ可能です。いずれかのテーブルが他方のテーブルの主キーカラムを参照している必要があるため、結合テーブルが親テーブルの外部キーカラムを持つか、親テーブルが結合テーブルの外部キーカラムを持つ必要があります。 この例では、_MovieID_カラムは映画の一意の識別番号を保持するため、_Movies_テーブルの主キーです。 <br /> サンプルデータベース: チケット予約アプリケーションに登録されているすべての劇場の場所を指定する「Theaters」というテーブルを作成しましょう。 Theatersテーブルのサンプルレコードを以下に示します: <table class="content-table"> <thead> <tr> <th><strong>TheaterID</strong></th> <th><strong>TheaterName</strong></th> <th><strong>Location</strong></th> </tr> </thead> <tbody> <tr> <td>047</td> <td>The Express Cinemas</td> <td>New York City</td> </tr> <tr> <td>048</td> <td>ANC Cinemas</td> <td>Rochester</td> </tr> <tr> <td>052</td> <td>Cosmos Theater</td> <td>Albany</td> </tr> <tr> <td>053</td> <td>FunTime Cinemas</td> <td>Buffalo</td> </tr> </tbody> </table> _TheaterID_カラムは劇場の一意の識別番号を保持するため、_Theaters_テーブルの主キーです。_Movies_テーブルの_TheaterID_カラムは、_Theaters_テーブルの_TheaterID_カラムへの外部キーです。 注意: JOIN句を使用する場合、クエリ内の各カラムについてカラム名とテーブル名を次のように指定する必要があります:'_table\_name.column\_name_'。例:'_Movies.MovieName_'、'_Theaters.Location_' クエリでカラム名にテーブル名を指定しない場合、デフォルトでベーステーブルのカラムと見なされます。 <br /> ### JOINの種類 ZCQLで実行できるJOINには2種類あります。 <br /> <br /> #### INNER JOIN INNER JOINは、親テーブルと結合テーブルの両方で一致する値を持つレコードを返します。2つのテーブルに対してINNER JOINを使用すると、両方のテーブルで指定されたカラムの値が一致するレコードのみが出力として生成されます。<br /> INNER JOINを使用する構文は以下のとおりです:<br /> SELECT column_name(s) FROM parent_table_name INNER JOIN join_table_name ON parent_table_name.column_name = join_table_name.column_name 例:<br /> _Movies_テーブルから映画名、上映日、上映時間のリストと、_Theaters_テーブルから劇場名を表示するには、以下のクエリを実行します: <br /> SELECT Movies.MovieName, Theatres.TheaterName, Movies.ShowDate, Movies.ShowTime, FROM Movies INNER JOIN Theatres ON Movies.TheaterID = Theatres.TheaterID 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>MovieName</strong></th> <th><strong>TheaterName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> </tr> </thead> <tbody> <tr> <td>Ant-Man and the Wasp</td> <td>The Express Cinemas</td> <td>2018-07-13</td> <td>13:30:00</td> </tr> <tr> <td>Hotel Transylvania 3: Summer Vacation</td> <td>Cosmos Theater</td> <td>2018-07-13</td> <td>14:20:00</td> </tr> <tr> <td>The First Purge</td> <td>Cosmos Theater</td> <td>2018-07-14</td> <td>17:00:00</td> </tr> <tr> <td>The First Purge</td> <td>FunTime Cinemas</td> <td>2018-07-14</td> <td>21:30:00</td> </tr> </tbody> </table> <br /> #### LEFT JOIN LEFT JOINは、親テーブルのすべてのレコードと、結合テーブルの一致するレコードを返します。2つのテーブルに対してLEFT JOINを使用すると、結合テーブルに一致がない場合でも、親テーブルのすべてのレコードが返されます。結合テーブルに一致がないレコードの結果は'NULL'として表示されます。 <br /> LEFT JOINを使用する構文は以下のとおりです:<br /> SELECT column_name(s) FROM parent_table_name LEFT JOIN join_table_name ON parent_table_name.column_name = join_table_name.column_name 例:<br /> _Theaters_テーブルから劇場とその場所のリストと、_Movies_テーブルからその劇場で上映されている映画を表示するには、以下のクエリを実行します:<br /> SELECT Theaters.TheaterName, Theaters.Location, Movies.MovieName FROM Theaters LEFT JOIN Movies ON Theaters.TheaterID = Movies.TheaterID 以下の出力が生成されます:<br /> <table class="content-table"> <thead> <tr> <th><strong>TheaterName</strong></th> <th><strong>Location</strong></th> <th><strong>MovieName</strong></th> </tr> </thead> <tbody> <tr> <td>The Express Cinemas</td> <td>New York City</td> <td>The First Purge</td> </tr> <tr> <td>ANC Cinemas</td> <td>Rochester</td> <td><strong>NULL</strong></td> </tr> <tr> <td>Cosmos Theater</td> <td>Albany</td> <td>Hotel Transylvania 3: Summer Vacation</td> </tr> <tr> <td>FunTime Cinemas</td> <td>Buffalo</td> <td>Skyscraper</td> </tr> </tbody> </table> ANC CinemasはMoviesテーブルに一致するレコードがないため、結果は'NULL'として表示されます。 <br /> <br /> ### 複数JOIN 1つのZCQLクエリで最大**4つ**のJOINを組み合わせることができます。ただし、各JOIN句に対して**1つ**のJOIN条件のみ記述できます。これにより、4つの異なるテーブルの結果が表示され、1つのテーブルがINNER JOINまたはLEFT JOINを使用して別のテーブルにリンクされます。 サンプルデータベース: チケット予約アプリケーションに、特定の映画と劇場のチケット1枚あたりの価格(ドル)を表示する'Pricing'というテーブルを作成しましょう。このテーブルは、_Theaters_テーブルの_TheaterID_と_Movies_テーブルの_MovieID_を外部キーとして参照します。 Pricingテーブルのサンプルレコードを以下に示します: <table class="content-table"> <thead> <tr> <th><strong>TheaterID</strong></th> <th><strong>MovieID</strong></th> <th><strong>Price</strong></th> </tr> </thead> <tbody> <tr> <td>047</td> <td>2056</td> <td>9.20</td> </tr> <tr> <td>048</td> <td>NULL</td> <td><strong>NULL</strong></td> </tr> <tr> <td>052</td> <td>2057</td> <td>8.64</td> </tr> <tr> <td>052</td> <td>2058</td> <td>11.50</td> </tr> <tr> <td>053</td> <td>2059</td> <td>7.44</td> </tr> </tbody> </table> _Theaters_テーブルの_TheaterName_、_Movies_テーブルの_MovieName_、_ShowDate_、_ShowTime_、_Pricing_テーブルの_Price_を表示するクエリを以下のように実行できます: SELECT Theaters.TheaterName,Movies.MovieName, Movies.ShowDate, Movies.ShowTime, Pricing.Price FROM Pricing LEFT JOIN Movies ON Theaters.TheaterID = Movies.TheaterID INNER JOIN Theaters ON Movies.MovieID = Pricing.MovieID 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>TheaterName</strong></th> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> <th><strong>Price</strong></th> </tr> </thead> <tbody> <tr> <td>The Express Cinemas</td> <td>The First Purge</td> <td>2018-07-13</td> <td>13:00:00</td> <td>9.20</td> </tr> <tr> <td>ANC Cinemas</td> <td>NULL</td> <td>NULL</td> <td>NULL</td> <td>NULL</td> </tr> <tr> <td>Cosmos Theater</td> <td>Ant-Man and the Wasp</td> <td>2018-07-13</td> <td>14:20:00</td> <td>8.64</td> </tr> <tr> <td>Cosmos Theater</td> <td>Hotel Transylvania 3: Summer Vacation</td> <td>2018-07-14</td> <td>17:00:00</td> <td>11.50</td> </tr> <tr> <td>FunTime Cinemas</td> <td>Skyscraper</td> <td>2018-07-14</td> <td>21:30:00</td> <td>7.44</td> </tr> </tbody> </table> 注意: * JOIN句のすべての機能を活用するには、コードベースをZCQL V1からZCQL V2に移行することをお勧めします。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 * ZCQL V2の強化と機能の詳細については、このヘルプドキュメントをご参照ください。 -------------------------------------------------------------------------------- title: "GROUP BYとORDER BY" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます" last_updated: "2026-07-02T09:34:21.906Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/groupby-orderby/" service: "Cloud Scale" -------------------------------------------------------------------------------- ### GROUP BY文 GROUP BY文は、検索クエリ結果で取得されたレコードを1つ以上のカラムでグループ化するために使用されます。GROUP BYは、同一のデータをまとめてグループ化し、順番に表示できるようにします。カラムに重複する値がある場合、GROUP BY文は重複をまとめて表示します。レコードは他のカラムに基づいて順序付けられます。 GROUP BY文はSELECT文に関連付けられ、ZCQL関数と一緒に使用されることが多いです。クエリの末尾に使用され、JOIN文を満たし、WHERE条件に従う必要があります。 SELECT文と一緒にGROUP BY文を使用する基本構文は以下のとおりです: SELECT column_name(s) FROM parent_table_name GROUP BY column_name(s) <br /> 例: _Theaters_テーブルから劇場の場所でグループ化された劇場とその場所のリストを表示するには、以下のクエリを実行します: SELECT TheaterName, Location FROM Theaters GROUP BY Location <br /> 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>TheaterName</strong></th> <th><strong>Location</strong></th> </tr> </thead> <tbody> <tr> <td>Cosmos Theater</td> <td>Albany</td> </tr> <tr> <td>FunTime Cinemas</td> <td>Buffalo</td> </tr> <tr> <td>The Express Cinemas</td> <td>New York City</td> </tr> <tr> <td>ANC Cinemas</td> <td>Rochester</td> </tr> </tbody> </table> #### BINARYOF()関数 BINARYOF()関数はGROUP BY文でのみ使用できます。この関数は、大文字と小文字を区別せず、テーブルのカラム内のすべての値を考慮した出力を生成する場合に使用できます。 BINARYOF()関数は、**VarChar**または**Text**データ型のカラムにのみ使用できます。 たとえば、以下の*Zylker_EMP*テーブルを考えてみましょう: <table class="content-table" style="width:30%"> <thead> <tr> <th>Names</th> </tr> </thead> <tbody> <tr> <td>AMELIA BURROWS</td> </tr> <tr> <td>amelia burrows</td> </tr> <tr> <td>amelia Burrows</td> </tr> <tr> <td>Amelia Burrows</td> </tr> </tbody> </table> BINARYOF()の機能とその出力例を示すZCQL文の例を以下に示します: SELECT Names FROM Zylker_EMP GROUP BY BINARYOF(Names)<br /> <table class="content-table" style="width:30%"> <thead> <tr> <th>Zylker_EMP.Names</th> </tr> </thead> <tbody> <tr> <td>AMELIA BURROWS</td> </tr> <tr> <td>amelia burrows</td> </tr> <tr> <td>amelia Burrows</td> </tr> <tr> <td>Amelia Burrows</td> </tr> </tbody> </table> 注意: * この機能はZCQL V2でのみ利用可能です。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 ### ORDER BY文 ORDER BY文は、検索クエリ結果で取得されたレコードを1つ以上のカラムに基づいて昇順または降順にソートするために使用されます。ORDER BY文がテキストデータのソートに使用される場合、レコードはアルファベット順にソートされます。 GROUP BY文と同様に、ORDER BY文はSELECT文に関連付けられ、GROUP BY文の後に使用されることが多いです。クエリの末尾、JOIN句文やWHERE条件(存在する場合)の後、LIMIT句の前に使用されます。ORDER BY文はJOIN文を満たし、WHERE条件に従う必要があります。 注意: ORDER BY文がGROUP BY文に続く場合、ORDER BY文が優先され、結果はまずORDER BY文に基づいて順序付けられ、次にGROUP BY文に基づいてグループ化されます。 * カラムに重複する値がある場合、ORDER BY文は重複をまとめて表示します。レコードは他のカラムに基づいて順序付けられます。 * ZCQL関数もORDER BY文と一緒に使用できます。 注意: ORDER BY文のすべての機能を活用するには、コードベースをZCQL V1からZCQL V2に移行することをお勧めします。ZCQL V2の強化と機能の詳細については、このヘルプドキュメントをご参照ください SELECT文と一緒にORDER BY文を使用する基本構文は以下のとおりです: SELECT column_name(s) FROM parent_table_name ORDER BY column_name(s) [ASC | DESC] 注意:<br /> * デフォルトでは、ORDER BY文はキーワード'ASC'を使用せずにレコードを昇順にソートします。レコードを降順にソートするには、キーワード'DESC'を使用する必要があります。 * ORDER BY句を使用するすべてのカラムで、ASCとDESCの機能を適用できるようになりました。個別のカラムに対してもASCとDESCを適用できます。 <br /> 例: Pricingテーブルから各映画のチケット価格を降順で表示するには、_Movies_テーブルから以下のクエリを実行します: SELECT Movies.MovieName, Pricing.Price FROM Movies INNER JOIN Pricing ON Movies.MovieID = Pricing.MovieID ORDER BY Pricing.Price DESC <br /> 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>MovieName</strong></th> <th><strong>Price</strong></th> </tr> </thead> <tbody> <tr> <td>Hotel Transylvania 3: Summer Vacation</td> <td>11.50</td> </tr> <tr> <td>The First Purge</td> <td>9.20</td> </tr> <tr> <td>Ant-Man and the Wasp</td> <td>8.64</td> </tr> <tr> <td>Skyscraper</td> <td>7.44</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "LIMIT句" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.906Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/limit/" service: "Cloud Scale" -------------------------------------------------------------------------------- ### LIMIT句 LIMIT句は、検索クエリの結果セットに表示されるデータレコードの数を制限します。以下のプロパティを含みます: 1. OFFSET: OFFSETは結果の開始インデックス、つまり結果に表示される最初のレコードの位置を定義します。 2. VALUE: VALUEは開始インデックス、つまりOFFSETから取得するレコード数を定義します。 LIMIT句はOFFSETインデックスを特定し、OFFSETインデックスからVALUEで指定された数のレコードを表示します。開始インデックスが最初のレコードの場合、オフセットを指定せずに値のみを指定することもできます。 LIMIT句は、特定の数のレコードを表示する場合にのみ使用されます。他のすべての句や文の後、クエリの末尾に使用されます。 SELECT文と一緒にLIMIT句を使用する基本構文は以下のとおりです: SELECT column_name(s) FROM parent_table_name LIMIT OFFSET, VALUE <br /> 例: _Movies_テーブルから2番目の開始インデックスから最大3つのレコードで構成される映画のリストを表示するには、以下のクエリを実行します: SELECT * FROM Movies LIMIT 1,3 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>MovieID</strong></th> <th><strong>MovieName</strong></th> <th><strong>ShowDate</strong></th> <th><strong>ShowTime</strong></th> <th><strong>TheaterID</strong></th> </tr> </thead> <tbody> <tr> <td>2057</td> <td>Ant-Man and the Wasp</td> <td>2018-07-13</td> <td>14:20:00</td> <td>052</td> </tr> <tr> <td>2058</td> <td>Hotel Transylvania 3: Summer Vacation</td> <td>2018-07-14</td> <td>17:00:00</td> <td>052</td> </tr> <tr> <td>2059</td> <td>Skyscraper</td> <td>2018-07-14</td> <td>21:30:00</td> <td>053</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "ZCQL関数" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.906Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/zcql-functions/" service: "Cloud Scale" -------------------------------------------------------------------------------- # ZCQL関数 ZCQLは、データに対する迅速な算術演算を実行し、検索クエリの結果セットを要件に合わせて操作するための、数学的および分析的な組み込み関数をいくつかサポートしています。これらの関数は、出力で生成されるカラムに対してSELECT文で使用されます。 ### MIN() <br /> MIN()関数は、選択されたカラムの最小値を返します。数値データを含むカラムの最小値、またはアルファベット順で最初に来るレコードを返すために使用できます。<br /> SELECT文と一緒にMIN()関数を使用する基本構文は以下のとおりです:<br /> SELECT MIN(column_name) FROM base_table_name 例: _Pricing_テーブルから最も安い映画を表示するには、以下のクエリを実行します:<br /> SELECT MIN(Price) FROM Pricing 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>MIN(Price)</strong></th> </tr> </thead> <tbody> <tr> <td>7.44</td> </tr> </tbody> </table> <br /> ### MAX() MAX()関数は、選択されたカラムの最大値を返します。数値データを含むカラムの最大値、またはアルファベット順で最後に来るレコードを返すために使用できます。<br /> SELECT文と一緒にMAX()関数を使用する基本構文は以下のとおりです:<br /> <br /> SELECT MAX(column_name) FROM base_table_name 例:<br /> _Pricing_テーブルから最も高い映画を表示するには、以下のクエリを実行します:<br /> SELECT MAX(Price) FROM Pricing 以下の出力が生成されます:<br /> <table class="content-table"> <thead> <tr> <th><strong>MAX(Price)</strong></th> </tr> </thead> <tbody> <tr> <td>11.50</td> </tr> </tbody> </table> <br /> ### COUNT() COUNT()関数は、出力の特定のカラムに対して返されるレコードの行数の値を返します。COUNT関数もSELECT文と一緒に使用されます。 SELECT文と一緒にCOUNT()関数を使用する基本構文は以下のとおりです: SELECT COUNT(column_name) FROM base_table_name **例:** _Theaters_テーブルからNew York CityとAlbanyの劇場数を表示するには、以下のクエリを実行します:<br /> SELECT COUNT(TheaterName) FROM Theaters WHERE Location='New York City' OR Location='Albany' 以下の出力が生成されます:<br /> <table class="content-table"> <thead> <tr> <th><strong>COUNT(TheaterName)</strong></th> </tr> </thead> <tbody> <tr> <td>2</td> </tr> </tbody> </table> <br /> ### SUM() SUM()関数は、数値カラムのレコードの合計を計算して返します。数値データを含むカラムにのみ使用できます。SUM()関数は、単一カラムに対してSELECT文と一緒に使用することもできます。<br /> SELECT文と一緒にSUM()関数を使用する基本構文は以下のとおりです:<br /> SELECT SUM(column_name) FROM base_table_name 例:<br /> _Pricing_テーブルから'The First Purge'と'Hotel Transylvania 3: Summer Vacation'のチケット料金の合計を表示するには、以下のクエリを実行します:<br /> SELECT SUM(Price) FROM Pricing WHERE MovieID='2056' OR MovieID='2058' 以下の出力が生成されます:<br /> <table class="content-table"> <thead> <tr> <th><strong>SUM(Price)</strong></th> </tr> </thead> <tbody> <tr> <td>20.7</td> </tr> </tbody> </table> <br /> ### AVG() AVG()関数は、数値カラムのレコードの平均値を計算して返します。数値データを含むカラムにのみ使用できます。AVG()関数は、特定のカラムのみに対してSELECT文と一緒に使用されます。 AVG () ZCQL関数は以下のデータ型に適用できます: - **Date** - **DateTime** - **Boolean** 注意: * この機能はZCQL V2でのみ利用可能です。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 SELECT文と一緒にAVG()関数を使用する基本構文は以下のとおりです:<br /> SELECT AVG(column_name) FROM base_table_name 例:<br /> _Pricing_テーブルの映画の平均チケット価格を表示するには、以下のクエリを実行します:<br /> SELECT AVG(Price) As AverageTicketPrice FROM Pricing 以下の出力が生成されます: <table class="content-table"> <thead> <tr> <th><strong>AVG(Price)</strong></th> </tr> </thead> <tbody> <tr> <td>9.19</td> </tr> </tbody> </table> <br /> ### DISTINCT DISTINCT文は、カラムの重複しないレコード値のみを返します。カラムに重複する値がある場合、この文は重複を返しません。DISTINCT文は、クエリでSELECT文と一緒に使用されます。 SELECT DISTINCT文を使用する基本構文は以下のとおりです:<br /> SELECT DISTINCT column_name(s) FROM base_table_name 例:<br /> 映画が上映されている重複しない劇場を表示するには、以下のクエリを実行します:<br /> SELECT DISTINCT Theaters.TheaterName FROM Movies INNER JOIN Theaters ON Movies.TheaterID=Theaters.TheaterID 以下の出力が生成されます:<br /> <table class="content-table"> <thead> <tr> <th><strong>TheaterName</strong></th> </tr> </thead> <tbody> <tr> <td>The Express Cinemas</td> </tr> <tr> <td>Cosmos Theater</td> </tr> <tr> <td>FunTime Cinemas</td> </tr> </tbody> </table> ### 複数ZCQL関数の使用 1つのZCQLクエリ文で同じカラムに対して複数のZCQL関数を使用できます。 **サンプルデータベース**: Zylker Technologiesの従業員詳細は、Data Storeの*Zylker_Employee_DB*テーブルで管理されています。テーブルには以下のカラムと行が含まれています: <table class="content-table"> <thead> <tr> <th class="w15p">ID</th> <th class="w30p">Name</th> <th class="w30p">Department</th> <th class="w25p">Salary</th> </tr> </thead> <tbody> <tr> <td>ZT-001</td> <td>Amelia Burrows</td> <td>Product Management</td> <td>15000</td> </tr> <tr> <td>ZT-2001</td> <td>Bruce Wayne</td> <td>Sr. Management</td> <td>85000</td> </tr> <tr> <td>ZT-239</td> <td>Clark Kane</td> <td>Media Relations</td> <td>4500</td> </tr> <tr> <td>ZT-4289</td> <td>Michelle Mascarenhas</td> <td>Finance</td> <td>89000</td> </tr> </tbody> </table> 次に、以下のように複数のZCQL関数をクエリに一緒に適用します: SELECT MIN (Salary), MAX (Salary), COUNT (Salary), SUM (Salary), AVG (Salary) FROM Zylker_Employee_DB <table class="content-table"> <thead> <tr> <th class="w20p">MAX(Salary)</th> <th class="w20p">SUM(Salary)</th> <th class="w20p">MIN(Salary)</th> <th class="w20p">AVG(Salary)</th> <th class="w20p">COUNT(Salary)</th> </tr> </thead> <tbody> <tr> <td>89000</td> <td>193500</td> <td>4500</td> <td>48975</td> <td>4</td> </tr> </tbody> </table> 注意: * この機能はZCQL V2でのみ利用可能です。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 -------------------------------------------------------------------------------- title: "ZCQL V2の構文と例外" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.906Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/syntax-exceptions/" service: "Cloud Scale" -------------------------------------------------------------------------------- # ZCQL V2の構文と例外 Catalystは、ZCQLクエリをより効果的に記述するための構文のアップグレードと機能強化をいくつか追加しました。これらの新しい構文アップグレードは、追加の機能を提供し、Data Storeでのデータ関連操作をより簡単に実行できるようにします。 注意:<br /> * これらの機能強化を使用するには、V2バージョンに移行する必要があります。構文のアップグレードは、V1でZCQLコマンドを実行しながら実装しても適用されません。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 ZCQLクエリを実行する際には、以下の例外と構文の注意点に留意する必要があります: 1. AVG () ZCQL関数は以下のデータ型に適用できます: - **Date** - **DateTime** - **Boolean** 2. ZCQL文で値を指定する場合は、値をシングルクォーテーションで囲んで指定してください。<br /> たとえば、従業員データベースから特定の名前を取得する場合、以下のようにコマンドを記述します: SELECT Name FROM Employee_DB WHERE name = 'Amelia' 3. カラムがBooleanデータ型の場合: - 文字列値は許可されません。 - Booleanデータ型は以下の値のみをサポートします: - FALSE - TRUE - NULL 4. **Encryptedデータ型**を使用している場合、そのカラムには以下のZCQL関数を使用できません: - AVG() - SUM() - MAX() - MIN() 5. Less Than、Greater Than、Less Than or Equal、Greater Than or Equalなどの比較演算子をEncrypted TextおよびBooleanデータ型で使用する場合、適切な例外が追加されています。これらの例外はEqualおよびNot Equal演算子には適用されません。 6. WHERE句文でサブクエリがサポートされるようになりました。詳細については、このヘルプドキュメントをご参照ください。 7. ORDER BY句でZCQL関数の使用がサポートされるようになりました。 8. ORDER BY句を使用するすべてのカラムで、ASCとDESCの機能を適用できるようになりました。個別のカラムに対してもASCとDESCを適用できます。 **サンプルデータベース**:<br /> 以下のデータベースを考えてみましょう - **ZylkerEmployeeCompensation** <table class="content-table"> <thead> <tr> <th class="w50p">Name</th> <th class="w25p">Salary</th> <th class="w25p">Reimbursement</th> </tr> </thead> <tbody> <tr> <td>Michelle Mascarenhas</td> <td>90000</td> <td>10000</td> </tr> <tr> <td>Bruce Kyle</td> <td>3000000</td> <td>45000</td> </tr> <tr> <td>Clark Kane</td> <td>3300</td> <td>1500</td> </tr> <tr> <td>Judith Bridges</td> <td>4700</td> <td>300</td> </tr> <tr> <td>Devon Dreymond</td> <td>80000</td> <td>2300</td> </tr> <tr> <td>Ashley Kim</td> <td>6000</td> <td>200</td> </tr> </tbody> </table> テーブルをリストするには以下のコマンドを実行します SELECT Salary, Reimbursement FROM ZylkerEmployeeCompensation ORDER BY Salary ASC, Reimbursement DESC **出力:** <br /> <table class="content-table"> <thead> <tr> <th class="w50p">ZylkerEmployeeCompensation.Salary</th> <th class="w50p">ZylkerEmployeeCompensation.Reimbursement</th> </tr> </thead> <tbody> <tr> <td>3300</td> <td>45000</td> </tr> <tr> <td>4700</td> <td>10000</td> </tr> <tr> <td>6000</td> <td>2300</td> </tr> <tr> <td>80000</td> <td>1500</td> </tr> <tr> <td>90000</td> <td>300</td> </tr> <tr> <td>3000000</td> <td>200</td> </tr> </tbody> </table> 9. 以下のケースでは適切な例外がトリガーされます: - **Integer**データ型で許可される最大/最小値を超えた場合。 - **VarChar**データ型で文字長が設定した値より長い場合。 - **BIGINT**データ型でサポート範囲を超える値の場合。 10. 1つのZCQL文に**4つ**のJOIN句を記述できます。ただし、各JOIN句に対して**1つ**のJOIN条件のみ記述できます。 11. ZCQLで**テーブルエイリアス**機能がサポートされるようになりました。AS ZCQLコマンドを使用してZCQLでエイリアス機能を呼び出すことができます。このコマンドを使用すると、テーブルを別の名前で参照できます。 **サンプルデータベース**:<br /> 以下のデータベースを考えてみましょう: **テーブル1: ZylkerEmployeeCompensation** <table class="content-table"> <thead> <tr> <th class="w50p">Name</th> <th class="w25p">Salary</th> <th class="w25p">Reimbursement</th> </tr> </thead> <tbody> <tr> <td>Michelle Mascarenhas</td> <td>90000</td> <td>10000</td> </tr> <tr> <td>Bruce Kyle</td> <td>3000000</td> <td>45000</td> </tr> <tr> <td>Clark Kane</td> <td>3300</td> <td>1500</td> </tr> <tr> <td>Judith Bridges</td> <td>4700</td> <td>300</td> </tr> <tr> <td>Devon Dreymond</td> <td>80000</td> <td>2300</td> </tr> <tr> <td>Ashley Kim</td> <td>6000</td> <td>200</td> </tr> </tbody> </table> **テーブル2: ZylkerEmployeeRelation** <table class="content-table"> <thead> <tr> <th class="w50p">Manager</th> <th class="w50p">Member</th> </tr> </thead> <tbody> <tr> <td>Michelle Mascarenhas</td> <td>Bruce Kyle</td> </tr> <tr> <td>Michelle Mascarenhas</td> <td>Clark Kane</td> </tr> <tr> <td>Judith Bridges</td> <td>Michelle Mascarenhas</td> </tr> </tbody> </table> テーブルをリストするには以下のコマンドを実行します SELECT Managers.Name, Members.Name FROM ZylkerEmployeeCompensation AS Managers INNER JOIN ZylkerEmployeeRelation AS asso ON Managers.ROWID = asso.Manager INNER JOIN ZylkerEmployeeCompensation AS Members ON Members.ROWID = asso.Member **出力:** <br/> <table class="content-table"> <thead> <tr> <th class="w50p">Manager.Name</th> <th class="w50p">Member.Name</th> </tr> </thead> <tbody> <tr> <td>Michelle Mascarenhas</td> <td>Bruce Kyle</td> </tr> <tr> <td>Michelle Mascarenhas</td> <td>Clark Kane</td> </tr> <tr> <td>Judith Bridges</td> <td>Michelle Mascarenhas</td> </tr> </tbody> </table> 注意: テーブルエイリアス操作は**SELECT**文でのみサポートされています。 12. **IS/IS NOT**演算子を使用してNULL値があるかどうかを確認できます。**IS/IS NOT**演算子のサポートはNULL値に対してのみ利用可能です。 13. GROUP BYとBinaryof()文を記述する際は、以下のZCQLルールに留意する必要があります: - Binaryof()機能はGROUP BY文でのみ使用できます。 - Binaryof()はVarCharまたはTextデータ型のカラムにのみ使用できます。 - Binaryof()がGROUP BY文で使用される場合、返される値は大文字と小文字が区別されます。たとえば、Zylker_EMPというテーブルのNameというカラムに'AMELIA'、'amelia'、'Burrows'、'burrows'の値があるとします。以下のコマンドを使用した場合:<br /> Select Name from Zylker_EMP group by binaryof(Name) 結果は以下のいずれかになる可能性があります:<br /> - AMELIA - amelia - burrows - Burrows 14. カラム名に数値を含めることができるようになりました。クエリ内でそのようなカラム名をバッククォート(**`**)記号を使用して指定できます。 たとえば、Numbersというテーブルの01というカラムに対するSELECTクエリは以下のように記述できます: SELECT `01` FROM Numbers<br /> ### ZCQL例外一覧 以下は、一般的な例外とこれらの例外をトリガーする可能性のあるクエリ文の例のリストです。リストを確認し、ZCQL構文を厳密に遵守してこれらの例外のトリガーを回避してください。 <table class="content-table"> <thead> <tr> <th class="w15p">データ型</th> <th class="w20p">ケース</th> <th class="w25p">サンプルZCQLクエリ</th> <th class="w40p">トリガーされる例外</th> </tr> </thead> <tbody> <tr> <td rowspan="5"><strong>Encrypted Text</strong></td> <td>特定の演算子がサポートされていない</td> <td>SELECT * FROM temp WHERE enc > 'temsp'</td> <td>Operator > is not supported for<br />ENCRYPTED TEXT ZCQL文で**<**、**<=**、**>=**の演算子を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td>LIKEがサポートされていない</td> <td>SELECT * FROM temp WHERE enc LIKE '*temsp'</td> <td>Operator LIKE is not supported for<br />ENCRYPTED TEXT ZCQL文で**NOT LIKE**を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td>BETWEENがサポートされていない</td> <td>SELECT * FROM temp WHERE enc BETWEEN 'one' AND 'ten'</td> <td>Operator BETWEEN is not supported for<br />ENCRYPTED TEXT ZCQL文で**NOT BETWEEN**を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td>INがサポートされていない</td> <td>SELECT * FROM temp WHERE enc IN ('one','three')</td> <td>Operator IN is not supported for<br />ENCRYPTED TEXT クエリで**NOT IN**を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td>ZCQL関数がサポートされていない</td> <td>SELECT AVG(enc) FROM temp</td> <td>AVG() function is not supported for<br />ENCRYPTED_TEXT ZCQL関数は**Encrypted Text**ではサポートされていません。</td> </tr> <tr> <td rowspan="4"><strong>Boolean</strong></td> <td>特定の演算子がサポートされていない</td> <td>SELECT * FROM temp WHERE bools > FALSE</td> <td>Operator > is not supported for BOOLEAN ZCQL文で**<**、**<=**、**>=**の演算子を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td>LIKEがサポートされていない</td> <td>SELECT * FROM temp WHERE bools LIKE FALSE</td> <td>Operator LIKE is not supported for BOOLEAN クエリで**NOT LIKE**を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td>BETWEENがサポートされていない</td> <td>SELECT * FROM temp WHERE bools BETWEEN TRUE and FALSE</td> <td>Operator BETWEEN is not supported for<br />BOOLEAN クエリで**NOT BETWEEN**を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td>INがサポートされていない</td> <td>SELECT * FROM temp WHERE bools IN (TRUE, FALSE)</td> <td>Operator IN is not supported for BOOLEAN クエリで**NOT IN**を使用した場合も同じ例外が適用されますが、例外メッセージはそれに応じて変更されます</td> </tr> <tr> <td rowspan="1"><strong>VarChar</strong></td> <td>最大長を超過</td> <td>INSERT INTO temp (Fishes) value ('salmon')</td> <td>'salmon' data too long for column 'Fishes' カラムFishesは**VarChar**として作成され、**MaxLength**は5に設定されています。この文では、'Salmon'が**MaxLength**を超えています</td> </tr> <tr> <td rowspan="1"><strong>Integer</strong></td> <td>最大値を超過</td> <td>INSERT INTO temp (numbers) VALUE (546895326908)</td> <td>For column 'ints' INT value should be between<br />-9999999999 and 9999999999 カラムnumbersは**INT**として作成されています。**INT**データ型の値は-9999999999から9999999999の間である必要があります</td> </tr> <tr> <td rowspan="1"><strong>Big Integer</strong></td> <td>最大値を超過</td> <td>INSERT INTO temp (numbers) VALUE (92343432412351<br />435123453245)</td> <td>Given numeric value 92343432412351<br />435123453 is too large カラムnumbersは**BIGINT**として作成されています。**BIGINT**データ型の値は-9223372036854775808から9223372036854775807の間である必要があります</td> </tr> <tr> <td rowspan="1"><strong>Text</strong></td> <td>値がシングルクォーテーションで囲まれていない</td> <td>SELECT * FROM temp WHERE name = one</td> <td>Unknown Table temp or Unknown Column<br />one in WHERE 値oneがクォーテーションで囲まれていない場合、カラムとして認識されます-'one'</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "ZCQLコンソール" description: "ZCQLは、使い慣れたクエリ言語をモデルにしたCatalyst独自のクエリ言語であり、アプリのデータベースを効率的にクエリするために使用できます。" last_updated: "2026-07-02T09:34:21.906Z" source: "https://docs.catalyst.zoho.com/ja/cloud-scale/help/zcql/zcql-console/" service: "Cloud Scale" -------------------------------------------------------------------------------- # ZCQLコンソール **ZCQLコンソール**は、必要なZCQLクエリを実行し、Data Storeに格納されたデータに対してデータ操作を行い、必要なZCQLクエリをCatalystコンソールに直接保存できる直感的なツールです。 ### 機能ハイライト <br /> *ZCQLコンソール*は以下の機能を提供します: * クエリを入力すると、関連性のある意味のあるコード補完候補が提供され、クエリを簡単かつ迅速に作成できます。 * コンソールで任意のクエリを実行し、完全な出力を直接表示できます。 * *コピーボタン*を使用してクエリをコピーし、コードに簡単に適用できます。 * 必要なZCQLクエリを保存し、必要に応じて再利用できます。 * **ZCQL Explorer**を使用して、必要な保存済みクエリを簡単に検索して再利用し、プロジェクトで作成されたすべてのテーブルのカラム情報を表示し、*History*セクションから以前に実行されたクエリを再利用することもできます。 注意: * デフォルトでは、1つのCatalystプロジェクトに50個のZCQLクエリのみ保存できます。より多くの要件がある場合は、Catalystサポートチームに連絡してこのしきい値を増やすことができます。 * HistoryセクションのZCQL Explorerには、最新の100件のZCQLクエリのみが記録されます。ただし、Historyにクエリが保持される期間に制限はありません。 ### ZCQLコンソールへのアクセス ZCQLコンソールにアクセスするには:<span></span> 1. CloudScaleサービスの*STORAGE*セクションの下にある**Data Store**コンポーネントに移動します。 <br /> 注意: ZCQLコンソールにアクセスするには、Data Storeにテーブルを作成する必要があります。 2. **ZCQL Console**タブをクリックします。 <br /> このコンソールにクエリを入力し、必要な操作を実行できます。 ### ZCQL Explorer *ZCQL Explorer*は、ZCQLコンソールの展開可能かつ折りたたみ可能な機能です。以下のセクションが含まれています: * **Schema**: Schemaには、テーブルに存在するカラムのリスト、カラムの値が必須かどうか、これらのカラムに格納されるデータのデータ型など、テーブルに関する情報が含まれています。 <br /> * **Saved Queries**: このセクションには、**Save Query**ボタンを使用して保存したすべてのクエリのリストが表示されます。名前で必要なクエリを検索して再利用できます。 <br /> 注意: デフォルトでは、1つのCatalystプロジェクトに50個のZCQLクエリのみ保存できます。より多くの要件がある場合は、Catalystサポートチームに連絡してこのしきい値を増やすことができます。 * **History**: *History*セクションには、コンソールで実行された**最新100件のクエリ**の完全なリストが表示されます。 <br /> *History*セクションからクエリを保存する場合は、必要なクエリの横にある**保存アイコン**をクリックし、この[セクション](#SaveaZCQLQuery)に記載されている手順に従ってください。 注意: Historyセクションには最新の100件のZCQLクエリのみが保持されます。ただし、Historyにクエリが保存される期間に制限はありません。 ### ZCQLクエリの実行 ZCQLコンソールでZCQLクエリを実行するには: 1. コンソールにZCQLクエリを入力します。 <br /> 2. **Execute Query**ボタンをクリックします。 <br /> コンソールで直接出力を表示できます。 クエリが実行され、**ZCQL Explorer**の*History*セクションに記録されます。 デフォルトでは、*Table View*で出力が表示されます。**View**ドロップダウンをクリックし、**JSON View**オプションを選択することで、JSONとして出力を表示するオプションもあります。 <br /> このJSONをコピーして必要に応じて使用するオプションもあります。 ### ZCQLクエリの保存 ZCQLコンソールでは、必要なクエリを実行して保存できます。クエリを保存すると、各セッションで手動入力する代わりに、必要な時にいつでも簡単に取得して使用できます。 注意: デフォルトでは、1つのCatalystプロジェクトに50個のZCQLクエリのみ保存できます。より多くの要件がある場合は、Catalystサポートチームに連絡してこのしきい値を増やすことができます。 ZCQLクエリを保存するには: 1. 必要なクエリを入力し、**Save Query**ボタンをクリックします。 <br /> 2. ポップアップで*Query Preview*セクションを確認し、クエリを参照するための**Query Name**を入力して**Save**をクリックします。 <br /> クエリが保存されます。 *ZCQL Explorer*セクションの**Saved Queries**タブからクエリを表示および管理できます。 <br /> *Console*ボタンをクリックして、クエリをコンソールに出力できます。 <br /> このクエリをさらに編集して必要に応じて実行したり、上記の手順を繰り返して別のクエリ名で保存したりすることもできます。 ### 保存済みクエリの削除 保存済みクエリを削除するには: 1. *ZCQL Explorer*の**Saved Queries**セクションで、必要なクエリの横にある**削除アイコン**をクリックします。 <br /> 2. 確認ポップアップで**Yes, Proceed**をクリックして、必要なクエリを削除します。 <br /> クエリが削除されます。 ### ファンクションコードでのZCQL V2の使用 ファンクションで**ZCQL V2**コードを使用するには、以下の方法で環境変数を設定する必要があります: 1. *Serverless* > **Functions**に移動します。 <br /> 2. ZCQL V2コードを含むファンクションをクリックします。 3. **Configuration**タブをクリックし、*Environmental Variables*の下にある**Create Variable**をクリックします。 <br /> 4. それぞれのフィールドに以下の値を入力します:<br />**Key**: ZOHO_CATALYST_ZCQL_PARSER<br />**Development Value**: V2 <br /> 5. **Save**をクリックします。 <br /> ファンクションコードでZCQL V2を使用できるようになります。 注意: * コード内で環境変数を参照する必要はありません。コンソールで設定すれば、ファンクションコードでZCQL V2を使用できます。 * 2024年12月1日より、すべてのOrgの開発環境にある現在のすべてのプロジェクトは、自動的にZCQL V2 Parserにマッピングされます。 * 2025年4月1日より、開発環境でZCQL V2 ParserにすでにマッピングされているすべてのOrgのすべてのプロジェクトは、プロジェクトの本番環境が有効化された場合、本番環境で自動的にZCQL V2 Parserにマッピングされます。 --- ## API Reference — ZCQL -------------------------------------------------------------------------------- title: "ZCQLクエリの実行" description: "このAPIは、ZCQLクエリを実行してData Store内のテーブルからデータを取得、挿入、更新、または削除できるようにします。" last_updated: "2026-07-02T09:34:21.908Z" source: "https://docs.catalyst.zoho.com/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" -------------------------------------------------------------------------------- # ZCQL ZCQLは、Catalyst Data Store内のテーブルに対してデータの取得、挿入、更新、および削除操作を実行できるCatalyst独自のクエリ言語です。 ZCQLを使用してさまざまなDMLクエリを実行し、データの取得や操作を行うことができます。また、SQL Join句、GroupByおよびOrderByステートメント、組み込みSQL関数などのさまざまな句やステートメントを使用できます。 # ZCQLクエリの実行 ### 説明 このAPIは、ZCQLクエリを実行してData Store内のテーブルからデータを取得、挿入、更新、または削除できるようにします。サンプルリクエストに示すように、JSONリクエストでZCQLクエリを渡してこのAPIを実行できます。 注意: APIリクエスト形式は、すべてのZCQLクエリ実行操作で同じです。 ### リクエスト詳細 #### リクエストURL <p>{api-domain}/baas/v1/project/{project_id}/query</p> Catalyst APIにアクセスするためのDC固有のドメイン プロジェクトの一意のID #### リクエストヘッダー **Authorization:** Zoho-oauthtoken {oauth_token} <br> **Content-Type:** application/json **オプションヘッダー** <br> **CATALYST-ORG:** {org_id} **Environment:** Development #### スコープ ZohoCatalyst.zcql.CREATE 注意: この操作は、Catalyst SDKを使用してCatalystユーザー認証権限でも実行できます。詳細については、[Catalyst API前提条件セクション](/ja/api/introduction/overview-and-prerequisites/#prerequisites)を参照してください。 #### リクエストJSONプロパティ 実行するZCQLクエリ ### レスポンス詳細 データ取得操作: APIは、クエリ実行の結果として取得されたレコードをレスポンスとして返します。 データ挿入および更新操作: APIは、クエリを通じて挿入または更新されたレコードをレスポンスとして返します。 データ削除操作: APIは削除された行数を返します。 curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/query \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57" \ -H "Content-Type: application/json" \ -d '{ "query":"SELECT EmpID, EmpName, Department, Address from EmpDetails ORDER BY EmpID ASC LIMIT 1000,5" }' { "status": "success", "data": [ { "EmpDetails": { "CREATORID": "3376000000002003", "MODIFIEDTIME": "2023-06-05 15:09:33:881", "CREATEDTIME": "2023-06-05 15:09:33:881", "ROWID": "3376000001924975", "EmpID": "1001", "EmpName": "Allison Powell", "Department":"Marketing", "Address": "13, Winter Avenue, Philadelphia, PY" } }, { "EmpDetails": { "CREATORID": "3376000000002003", "MODIFIEDTIME": "2023-06-05 15:09:33:881", "CREATEDTIME": "2023-06-05 15:09:33:881", "ROWID": "3376000001927682", "EmpID": "1002", "EmpName": "James Cortez", "Department":"HR", "Address": "25, Blossom Street, Austin, TX" } }, { "EmpDetails": { "CREATORID": "3376000000002003", "MODIFIEDTIME": "2023-06-02 21:04:11:111", "CREATEDTIME": "2023-06-02 15:05:21:001", "ROWID": "3376000001224112", "EmpID": "1003", "EmpName": "Han Chan", "Department":"Sales", "Address": "112, St.Patrick's Road, Louisville, KY" } }, { "EmpDetails": { "CREATORID": "337600000003111", "MODIFIEDTIME": "2023-06-02 21:04:11:111", "CREATEDTIME": "2023-06-02 15:05:21:001", "ROWID": "3376000001242012", "EmpID": "1004", "EmpName": "Rubella Miguel", "Department":"Accounts", "Address": "333, Marine Bay, Salt Lake City, UT" } }, { "EmpDetails": { "CREATORID": "3376000000115254", "MODIFIEDTIME": "2023-04-12 21:04:10:521", "CREATEDTIME": "2023-06-11 15:05:02:541", "ROWID": "3376000001241341", "EmpID": "1005", "EmpName": "Ronwick Boseman", "Department":"Support", "Address": "61, Gringott's Avenue, Herfordshire, CO" } } ] } curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/query \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57 \ -H "Content-Type: application/json" \ -d '{ "query":"INSERT INTO EmpDetails VALUES (1007,'Randy Marsh','Sales','42, Tenth Street, Jacksonville, FL', '14 MAR 2017')" }' { "status": "success", "data": [ { "EmpDetails": { "CREATORID": "3813000000002003", "EmpID": "1007", "EmpName": "Randy Marsh", "Department":"Sales", "Address": "42, Tenth Street, Jacksonville, FL", "DOJ": "14 MAR 2017", "MODIFIEDTIME": "2021-08-04 09:10:14:752", "CREATEDTIME": "2021-08-04 09:10:14:752", "ROWID": "3813000000214001" } } ] } curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/query \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57 \ -H "Content-Type: application/json" \ -d '{ "query":"UPDATE EmpDetails SET Department='Operations' WHERE EmpID=1007" }' { "status": "success", "data": [ { "EmpDetails": { "CREATORID": "3813000000002003", "EmpID": "1007", "EmpName": "Randy Marsh", "Department":"Operations", "Address": "42, Tenth Street, Jacksonville, FL", "DOJ": "14 MAR 2017", "MODIFIEDTIME": "2021-08-04 09:11:54:318", "CREATEDTIME": "2021-08-04 09:10:14:752", "ROWID": "3813000000214001" } } ] } curl -X POST \ https://api.catalyst.zoho.com/baas/v1/project/4000000006007/query \ -H "Authorization: Zoho-oauthtoken 1000.910*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*16.2f*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*57 \ -H "Content-Type: application/json" \ -d '{ "query":"DELETE FROM EmpDetails WHERE EmpID=1007" }' { "status": "success", "data": [ { "EmpDetails": { "DELETED_ROWS_COUNT": 1 } } ] } Execute ZCQL Query- Java SDK</br></br> Execute ZCQL Query- Node.js SDK</br></br> Execute ZCQL Query- Python SDK</br></br> Execute ZCQL Query- Web SDK --- ## SDK — Android — ZCQL -------------------------------------------------------------------------------- title: "ZCQLクエリの実行" description: "ZCQLは、Data Storeでのデータ作成、取得、および変更操作を可能にするCatalyst独自のクエリ言語です。" last_updated: "2026-07-02T09:34:21.911Z" source: "https://docs.catalyst.zoho.com/ja/sdk/android/v2/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" related: - Data Store (/ja/cloud-scale/help/data-store/introduction) - ZCQL (/ja/cloud-scale/help/zcql/introduction/) - Execute ZCQL - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # ZCQL ZCQLは、Data Storeでのデータ作成、取得、および変更操作を可能にするCatalyst独自のクエリ言語です。組み込み関数、SQL Join句、およびその他のステートメントや条件を使用したクエリをサポートしています。 ### ZCQLクエリの実行 必要なデータセットを取得するためのZCQLクエリを実行する前に、**execute()**メソッドに渡すクエリを構築する必要があります。ZCQL構文については、ZCQLヘルプページから学ぶことができます。 以下のZCQLクエリ実行のコード構文に示すように、**ZCatalystSelectQuery**のインスタンスをexecute()メソッドに渡す必要があります。 ここで使用されている&lt;DATA_STORE_INSTANCE&gt;は、Data Storeインスタンスページで定義されたインスタンスです。 ZCatalystApp.getInstance().getDataStoreInstance().execute( selectQuery: ZCatalystSelectQuery, success: (List&lt;Map&lt;String, Map&lt;String, Any?&gt;&gt;&gt;) → Unit, failure: ((ZCatalystException) → Unit)? ): ZCatalystRequest&lt;ZCatalystResponse&lt;List&lt;Map&lt;String, Any?&gt;&gt;&gt;&gt;&gt;? **パラメータ**: * **selectQuery**: ZCatalystSelectQuery型のインスタンス ZCQLでサポートされるステートメントのZCatalystSelectQueryに対して、以下の方法でselectQueryインスタンスを作成できます: ZCatalystSelectQuery.Builder() .select(columns: Set&lt;Column&gt;): ZCatalystSelectQuery.Builder .selectAll(): ZCatalystSelectQuery.Builder .where(column: String, comparator: ZCatalystUtil.Comparator, value: String): ZCatalystSelectQuery.Builder .from(tableName: String): ZCatalystSelectQuery.Builder .and(column: String, comparator: ZCatalystUtil.Comparator, value: String): ZCatalystSelectQuery.Builder .groupBy(columns: Set&lt;Column&gt;): ZCatalystSelectQuery.Builder .orderBy(columns: Set&lt;Column&gt;, sortOrder: ZCatalystUtil.SortOrder): ZCatalystSelectQuery.Builder .innerJoin(tableName: String): ZCatalystSelectQuery.Builder .leftJoin(tableName: String): ZCatalystSelectQuery.Builder .on(joinColumn1: String, comparator: ZCatalystUtil.Comparator, joinColumn2: String): ZCatalystSelectQuery.Builder .or(column: String, comparator: ZCatalystUtil.Comparator, value: String): ZCatalystSelectQuery.Builder .limit(offset: Int, value: Int?): ZCatalystSelectQuery.Builder .build(): ZCatalystSelectQuery 以下にZCQLクエリ実行のサンプルコードスニペットを示します: val query = ZCatalystSelectQuery.Builder() .selectAll() .from("EmployeeDetails") //これをあなたのテーブル名に置き換えてください .where("Location", ZCatalystUtil.Comparator.EQUAL_TO, "Austin") .and("Department", ZCatalystUtil.Comparator.EQUAL_TO, "Marketing") .or("isActive", ZCatalystUtil.Comparator.EQUAL_TO, "true") .limit(5) .build() ZCatalystApp.getInstance().getDataStoreInstance().execute(query, { println("Query executed successfully. $it") }, { exception -> println("Exception occured $exception") }) --- ## SDK — Flutter — ZCQL -------------------------------------------------------------------------------- title: "ZCQLクエリの実行" description: "ZCQLは、Data Storeでデータの作成、取得、および変更操作を実行できるCatalyst独自のクエリ言語です。" last_updated: "2026-07-02T09:34:21.911Z" source: "https://docs.catalyst.zoho.com/ja/sdk/flutter/v2/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" related: - Data Store (/ja/cloud-scale/help/data-store/introduction) - ZCQL (/ja/cloud-scale/help/zcql/introduction/) - Execute ZCQL - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # ZCQL ZCQLは、Data Storeでデータの作成、取得、および変更操作を実行できるCatalyst独自のクエリ言語です。組み込み関数、SQL Join句、その他のステートメントおよび条件を含むクエリをサポートしています。 ### ZCQLクエリの実行 Flutterでは、ZCQLを使用してデータ取得操作を実行できます。必要なデータセットを取得するためにZCQLクエリを実行する前に、**getData()**メソッドに渡すクエリを構築する必要があります。ZCQL構文については、ZCQLヘルプページで確認できます。 以下のZCQLクエリ実行のコード構文に示すように、**ZCatalystSelectQuery**のインスタンスをgetData()メソッドに渡す必要があります。 ここで使用される&lt;DATA_STORE_INSTANCE&gt;は、Data Storeインスタンスページで定義されたインスタンスです。 Future<(APIResponse, List&lt;dynamic&gt;?)> ZCatalystApp.getInstance().getDataStoreInstance().getData( ZCatalystSelectQuery selectQuery) **パラメータ**: * **selectQuery**: 渡すZCatalystSelectQuery型のインスタンス ZCQLでサポートされるステートメント用のZCatalystSelectQueryのselectQueryインスタンスは、以下の方法で作成できます: ZCatalystSelectQuery.Builder() .select(columns: Set&lt;Column&gt;): ZCatalystSelectQuery.Builder .selectAll(): ZCatalystSelectQuery.Builder .where(column: String, comparator: ZCatalystUtil.Comparator, value: String): ZCatalystSelectQuery.Builder .from(tableName: String): ZCatalystSelectQuery.Builder .and(column: String, comparator: ZCatalystUtil.Comparator, value: String): ZCatalystSelectQuery.Builder .groupBy(columns: Set&lt;Column&gt;): ZCatalystSelectQuery.Builder .orderBy(columns: Set&lt;Column&gt;, sortOrder: ZCatalystUtil.SortOrder): ZCatalystSelectQuery.Builder .innerJoin(tableName: String): ZCatalystSelectQuery.Builder .leftJoin(tableName: String): ZCatalystSelectQuery.Builder .on(joinColumn1: String, comparator: ZCatalystUtil.Comparator, joinColumn2: String): ZCatalystSelectQuery.Builder .or(column: String, comparator: ZCatalystUtil.Comparator, value:String): ZCatalystSelectQuery.Builder .limit(offset: Int, value: Int?): ZCatalystSelectQuery.Builder .build(): ZCatalystSelectQuery ZCQLクエリ実行のサンプルコードスニペットを以下に示します: try { ZCQLColumn column1 = ZCQLColumn('Title'); ZCQLColumn column2 = ZCQLColumn('Category'); Set&lt;ZCQLColumn&gt; columns = Set(); columns.add(column1); columns.add(column2); ZCatalystSelectQuery query = ZCatalystQueryBuilder() .select(columns) .from('Projects') .where('Category', Comparator.EQUAL_TO, 'Official') .build(); var (_, result) = await app.getDataStoreInstance().getData(query); print("Query Result: $result"); } on ZCatalystException catch (ex) { print(ex.toString()); } --- ## SDK — iOS — ZCQL -------------------------------------------------------------------------------- title: "ZCQLクエリの実行" description: "ZCQLは、Data Storeでのデータの作成、取得、および変更操作を可能にするCatalyst独自のクエリ言語です。" last_updated: "2026-07-02T09:34:21.911Z" source: "https://docs.catalyst.zoho.com/ja/sdk/ios/v2/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" related: - Data Store (/ja/cloud-scale/help/data-store/introduction) - ZCQL (/ja/cloud-scale/help/zcql/introduction/) - Execute ZCQL - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # ZCQL ZCQLは、Data Storeでのデータ取得操作を可能にするCatalyst独自のクエリ言語です。組み込み関数、SQL Joinクローズ、およびその他のステートメントと条件を持つSELECTクエリをサポートしています。 ### ZCQLクエリの実行 必要なデータセットを取得するためにZCQLクエリを実行する前に、**execute()**メソッドに渡すクエリを構築する必要があります。ZCQLの構文については、ZCQLヘルプページから学ぶことができます。 以下のZCQLクエリ実行のコード構文に示すように、execute()メソッドに**ZCatalystSelectQuery**のインスタンスを渡す必要があります。 &lt;ZCatalystApp&gt;.execute( query : ZCatalystSelectQuery, completion: @escaping (Result&lt;[ [ String : Any ] ], ZCatalystError&gt;) -> Void) **パラメータ**: * **query**: 渡すZCatalystSelectQuery型のインスタンスです。 * **completion**: クエリ実行の呼び出しが成功した場合、completionブロックはクエリの条件に一致するレコードを返します。それ以外の場合は、エラーを返します。 ZCQLがサポートするステートメントのZCatalystSelectQueryのqueryインスタンスを以下の方法で作成できます: ZCatalystSelectQuery.Builder() .select(columns: Set&lt;Column&gt;) -> ZCatalystSelectQuery.Builder .selectAll() -> ZCatalystSelectQuery.Builder .where(column: String, comparator: Comparator, value: String) -> ZCatalystSelectQuery.Builder .from(tableName: String) -> ZCatalystSelectQuery.Builder .and(column: String, comparator: Comparator, value: String) -> ZCatalystSelectQuery.Builder .groupBy(columns: Set&lt;Column&gt;) -> ZCatalystSelectQuery.Builder .orderBy(columns: Set&lt;Column&gt;, sortOrder: SortOrder) -> ZCatalystSelectQuery.Builder .innerJoin(tableName: String) -> ZCatalystSelectQuery.Builder .leftJoin(tableName: String) -> ZCatalystSelectQuery.Builder .on(joinColumn1: String, comparator: Comparator, joinColumn2: String) -> ZCatalystSelectQuery.Builder .or(column: String, comparator: Comparator, value: String) -> ZCatalystSelectQuery.Builder .limit(offset: Int, value: Int? = nil) -> ZCatalystSelectQuery.Builder .build() -> ZCatalystSelectQuery ZCQLクエリ実行のサンプルコードスニペットを以下に示します: func testExecuteZCQL(){ var builder = ZCatalystSelectQuery.Builder() var query = builder.selectAll().from( tableName : "Bio-data" ).build() //ここにテーブル名を入力してください ZCatalystApp.shared.getDataStoreInstance(tableIdentifier: "1096000000002071").execute( query : query) { ( result ) in switch result{ case .success( let response ) : print("Response : \( response )") case .error( let error ) : print( "Error occurred &gt;&gt;&gt; \( error )" ) } } } --- ## SDK — Java — ZCQL -------------------------------------------------------------------------------- title: "ZCQLクエリの実行" description: "このページでは、Javaアプリケーションでサンプルコードスニペットを使用してData Storeのテーブルに対してZCQLクエリを実行する方法について説明します。" last_updated: "2026-07-02T09:34:21.912Z" source: "https://docs.catalyst.zoho.com/ja/sdk/java/v1/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" related: - Execute ZCQL queries - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) - Execute ZCQL queries (/ja/cloud-scale/help/zcql/introduction) - Data Store (/ja/cloud-scale/help/data-store/introduction) -------------------------------------------------------------------------------- # ZCQL ZCQLは、Catalyst Data Storeのテーブルに対してデータの取得、挿入、更新、および削除操作を実行できるCatalyst独自のクエリ言語です。ZCQLを使用してさまざまなDMLクエリを実行し、データの取得や操作を行い、SQL Joinクロース、GroupByおよびOrderByステートメント、組み込みSQL関数などのさまざまなクロースやステートメントを使用できます。 ### ZCQLクエリの実行 Catalystは、分析的なデータ取得クエリに適したプライマリData Storeに加えて、**OLAPデータベース**も提供しています。プライマリData Storeではシンプルなトランザクションクエリを実行し、OLAPデータベースではZCQL関数を含む複雑な分析クエリを実行することを選択できます。 プライマリData Storeで実行するクエリには、SELECT、INSERT、UPDATE、またはDELETEステートメントを含めることができます。OLAPデータベースで実行するクエリには、直接の書き込み操作が許可されていないため、SELECTステートメントのみを含める必要があります。 以下のサンプルコードに示すように、ZCQLクエリを構築し、executeQuery()メソッドに渡して実行する必要があります。 executeQuery()メソッドは以下の3つのパラメータをサポートしています: * 構築されたクエリステートメントを含むString変数 * isV2?: ZCQL v2クエリかどうかを示すboolean値(trueまたはfalse) * isOLAP?: OLAPデータベースでクエリを実行するかどうかを示すboolean値(trueまたはfalse) executeQuery(query: string, isV2?: boolean , isOLAP?:boolean) 以下にサンプルSELECTクエリを示します。レスポンスには、SELECTクエリを使用して取得したレコード、またはその他の操作で生成されたレスポンスが含まれます。 #### サンプルコードスニペット <br> import com.zc.component.object.ZCRowObject; import com.zc.component.zcql.ZCQL; //実行するクエリを構築する String query = "SELECT * from empDetails limit 10"; //ZCQLインスタンスを取得し、クエリ文字列を使用してクエリを実行する ArrayList <ZCRowObject> rowList = ZCQL.getInstance().executeQuery(query, true , false) --- ## SDK — Node JS — ZCQL -------------------------------------------------------------------------------- title: "ZCQL インスタンスの取得" description: "このページでは、NodeJSアプリケーションでData Storeのテーブルに対してZCQLクエリを実行するメソッドについて、サンプルコードスニペットと共に説明します。" last_updated: "2026-07-02T09:34:21.912Z" source: "https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/zcql/get-component-instance/" service: "Cloud Scale" related: - ZCQL (/ja/cloud-scale/help/zcql/introduction) - Data Store (/ja/cloud-scale/help/data-store/introduction) -------------------------------------------------------------------------------- # ZCQL ZCQLは、Catalyst Data Storeのテーブルに対してデータの取得、挿入、更新、削除操作を実行できるCatalyst独自のクエリ言語です。ZCQLを使用して、さまざまなDMLクエリを実行し、データの取得や操作を行うことができます。また、SQL Joinの句、GroupByおよびOrderByステートメント、組み込みSQL関数など、さまざまな句やステートメントを使用できます。 Catalystは、分析データ取得クエリに適した**OLAPデータベース**も、プライマリData Storeに加えて提供しています。プライマリData Storeでシンプルなトランザクションクエリを実行し、ZCQL関数を含む複雑な分析クエリをOLAPデータベースで実行することを選択できます。 ### コンポーネントインスタンスの取得 まず、ZCQLのコンポーネントインスタンスを作成する必要があります。zcqlインスタンスは以下のように作成できます。 //ZCQLインスタンスを取得する let zcql = app.zcql(); -------------------------------------------------------------------------------- title: "クエリの実行" description: "このページでは、NodeJSアプリケーションでData Storeのテーブルに対してZCQLクエリを実行するメソッドについて、サンプルコードスニペットと共に説明します。" last_updated: "2026-07-02T09:34:21.912Z" source: "https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" related: - Execute query - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) - ZCQL (/ja/cloud-scale/help/zcql/introduction) - Data Store (/ja/cloud-scale/help/data-store/introduction) -------------------------------------------------------------------------------- # クエリの実行 zcqlはこちらで定義されたコンポーネントインスタンスを参照します。これはPromiseを返し、オブジェクトに解決されます。contentキーに行オブジェクトの配列が含まれます。 ### プライマリData Storeでのクエリの構築と実行 プライマリData Storeで実行するZCQLクエリについては、クエリを構築し、以下に示すようにexecuteZCQLQuery()メソッドに渡すことができます。これらのクエリには、SELECT、INSERT、UPDATE、またはDELETEステートメントを含めることができます。 以下にサンプルのINSERTクエリを示します: //Construct the query to execute let query = 'INSERT into ShipmentData (productID, productName, region) VALUES (3782, A4 Reams, India)'; let result = await zcql.executeZCQLQuery(query); <br> ### OLAPデータベースでのクエリの構築と実行 OLAPデータベースで実行するクエリは、SELECTステートメントのみを含める必要があります。直接の書き込み操作は許可されていません。クエリオブジェクトを構築し、executeOLAPQuery()メソッドに渡すことができます。以下にサンプルの分析SELECTクエリを示します。 //Construct the query to execute let query = 'SELECT SUM(price) FROM ShipmentData'; let result = await zcql.executeOLAPQuery(query); --- ## SDK — Python — ZCQL -------------------------------------------------------------------------------- title: "ZCQL インスタンスの取得" description: "このページでは、PythonアプリケーションでData StoreのテーブルにZCQLクエリを実行するメソッドについて、サンプルコードスニペットとともに説明します。" last_updated: "2026-07-02T09:34:21.913Z" source: "https://docs.catalyst.zoho.com/ja/sdk/python/v1/cloud-scale/zcql/get-component-instance/" service: "Cloud Scale" related: - ZCQL Help (/ja/cloud-scale/help/zcql/introduction) - Data Store Help (/ja/cloud-scale/help/data-store/introduction) -------------------------------------------------------------------------------- # ZCQL Catalyst Cloud Scale ZCQLは、Catalyst Cloud Scale Data Storeのテーブルに対してデータの取得、挿入、更新、削除操作を実行できるCatalyst独自のクエリ言語です。ZCQLを使用してさまざまなDMLクエリを実行してデータを取得または操作し、SQL Joinクエリ、GroupByおよびOrderByステートメント、組み込みSQL関数などのさまざまな句やステートメントを使用できます。 Catalystでは、分析データ取得クエリに適したプライマリData Storeに加えて、**OLAPデータベース**も提供しています。プライマリData Storeでシンプルなトランザクションクエリを実行し、OLAPデータベースでZCQL関数を含む複雑な分析クエリを実行することができます。 ### コンポーネントインスタンスの取得 コンポーネントインスタンスは、特定のコンポーネントに固有の事前定義された設定にアクセスするために使用できるオブジェクトです。この処理はサーバーサイドの呼び出しを発行しません。 以下のコードで使用されているapp参照は、SDK初期化時にレスポンスとして返されるPythonオブジェクトです。また、このインスタンスは、Catalyst Data Storeでの取得、挿入、更新、または削除操作を実行する際の複数のシナリオで使用されることに注意してください。 #ZCQLコンポーネントインスタンスを取得する zcql_service = app.zcql() -------------------------------------------------------------------------------- title: "クエリの実行" description: "このページでは、PythonアプリケーションでData StoreのテーブルにZCQLクエリを実行するメソッドについて、サンプルコードスニペットとともに説明します。" last_updated: "2026-07-02T09:34:21.913Z" source: "https://docs.catalyst.zoho.com/ja/sdk/python/v1/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" related: - Execute query - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) - ZCQL Help (/ja/cloud-scale/help/zcql/introduction) - Data Store Help (/ja/cloud-scale/help/data-store/introduction) - SDK Scopes (/ja/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # クエリの実行 以下のコードスニペットで使用されているzcql_service参照は、以前に作成されたコンポーネントインスタンスです。渡されるクエリオブジェクトに基づいて、レスポンスは行オブジェクトまたは行オブジェクトの配列を返します。 ### プライマリData Storeでのクエリの構築と実行 プライマリData Storeで実行するZCQLクエリでは、以下に示すようにクエリオブジェクトを構築し、execute_query()メソッドに渡すことができます。これらのクエリには、SELECT、INSERT、UPDATE、またはDELETEステートメントを含めることができます。 サンプルINSERTクエリを以下に示します: #ZCQLクエリを構築する query = 'INSERT into ShipmentData (productID, productName, region) VALUES (3782, A4 Reams, India)' result = zcql_service.execute_query(query) ### OLAPデータベースでのクエリの構築と実行 OLAPデータベースで実行するクエリには、SELECTステートメントのみを含める必要があります。直接の書き込み操作は許可されていません。クエリオブジェクトを構築し、execute_olap_query()メソッドに渡すことができます。サンプルの分析SELECTクエリを以下に示します。 //Construct the query to execute query = 'SELECT SUM(price) FROM ShipmentData'; result = zcql_service.execute_olap_query(query); **使用するパラメータ** <table class="content-table"> <thead> <tr> <th class="w20p">パラメータ名</th> <th class="w20p">データ型</th> <th class="w60p">定義</th> </tr> </thead> <tbody> <tr> <td>query</td> <td>String</td> <td>必須パラメータです。実行するクエリを格納します。</td> </tr> </tbody> </table> 情報: 上記の操作を実行するために必要な権限レベルを確認するには、SDKスコープの表を参照してください。 --- ## SDK — Web — ZCQL -------------------------------------------------------------------------------- title: "コンポーネントインスタンスの取得" description: "ZCQLは、Data Storeでデータ取得操作を実行できるCatalyst独自のクエリ言語です。" last_updated: "2026-07-02T09:34:21.913Z" source: "https://docs.catalyst.zoho.com/ja/sdk/web/v4/cloud-scale/zcql/get-component-instance/" service: "Cloud Scale" related: - Data Store (/ja/cloud-scale/help/data-store/introduction) - ZCQL (/ja/cloud-scale/help/zcql/introduction/) - Execute ZCQL - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # ZCQL ZCQLは、Catalyst Data Storeのテーブルに対してデータの取得、挿入、更新、削除操作を実行できるCatalyst独自のクエリ言語です。ZCQLを使用してさまざまなDMLクエリを実行し、データの取得や操作を行うことができます。また、SQL Joinクラス、GroupByおよびOrderByステートメント、組み込みSQLファンクションなど、さまざまなクローズやステートメントを使用できます。 ### コンポーネントインスタンスの取得 zcql リファレンスは、以下のように作成できます。これはサーバーサイドの呼び出しを発生させません。 //ZCQLインスタンスを取得する var zcql = catalyst.ZCatalystQL; -------------------------------------------------------------------------------- title: "ZCQLクエリの実行" description: "ZCQLは、Data Storeでデータ取得操作を実行できるCatalyst独自のクエリ言語です。" last_updated: "2026-07-02T09:34:21.913Z" source: "https://docs.catalyst.zoho.com/ja/sdk/web/v4/cloud-scale/zcql/execute-zcql-query/" service: "Cloud Scale" related: - Data Store (/ja/cloud-scale/help/data-store/introduction) - ZCQL (/ja/cloud-scale/help/zcql/introduction/) - Execute ZCQL - API (/ja/api/code-reference/cloud-scale/zcql/execute-zcql-query/#ExecuteZCQLQuery) -------------------------------------------------------------------------------- # ZCQLクエリの実行 ### クエリの構築 実行する前に、必要なデータセットに対するZCQLクエリを構築する必要があります。サンプルのSELECTクエリを以下に示します: //実行するクエリを作成する var query = 'SELECT * FROM ShipmentData'; ### クエリの実行 上記の手順で作成したクエリオブジェクトをexecuteZCQLQuery()メソッドに渡します。ここで使用されているzcqlリファレンスは、先に定義したコンポーネントインスタンスです。 これはPromiseを返し、オブジェクトに解決されます。contentキーには行オブジェクトの配列が含まれます。 //クエリを渡して実行する var zcql = catalyst.ZCatalystQL; var zcqlPromise = zcql.executeQuery(query); zcqlPromise .then((response) => { console.log(response.content); }) .catch((err) => { console.log(err); }); Note: コードでZCQL V2コマンドを使用するには、こちらに記載されているCatalystメソッドと以下の値を使用して、適切な環境変数を設定してください:<br /> * Key: ZOHO_CATALYST_ZCQL_PARSER * Value: V2 受け取るサンプルレスポンスを以下に示します。レスポンスはWeb SDKの両方のバージョンで同じです。 [ { AlienCity: { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-13 13:49:19:475", CREATEDTIME: "2021-08-13 13:49:19:475", CityName: "Dallas", ROWID: "2136000000008508" } }, { AlienCity: { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-16 15:55:32:969", CREATEDTIME: "2021-08-16 15:55:32:969", CityName: "Houston", ROWID: "2136000000011002" } }, { AlienCity: { CREATORID: "2136000000006003", MODIFIEDTIME: "2021-08-16 17:03:01:507", CREATEDTIME: "2021-08-16 16:29:10:499", CityName: "Austin", ROWID: "2136000000011011" } } ]