この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Salesforce Object Query Language (SOQL)

Salesforce Object Query Language (SOQL) を使用して、組織の Salesforce データから特定の情報を検索できます。SOQL は、広く使用されている SQL (Structured Query Language) の SELECT ステートメントに似ていますが、Salesforce データ専用に設計されています。
SOQL を使用すると、複数の環境で���ンプルながら強力なクエリ文字列を作成できます。
  • SOAP API query() コールの queryString パラメータの使用『SOAP API 開発者ガイド』「query()」を参照してください。
  • REST API クエリ要求の q パラメータの使用。『REST API 開発者ガイド』「クエリ」を参照してください。
  • Apex ステートメントの使用『Apex 開発者ガイド』「SOQL および SOSL クエリ」を参照してください。
  • Visualforce コントローラと getter メソッドの使用。『Visualforce 開発者ガイド』「コントローラメソッド」を参照してください。
  • Salesforce CLI の使用『Salesforce CLI コマンドリファレンス』の「データコマンド」トピックにある「force:data:soql:query」を参照してください。
  • Visual Studio Code の拡張機能の使用。『Salesforce Extensions for Visual Studio Code (Visual Studio Code 向け Salesforce 拡張機能)』「Write SOQL Queries (SOQL クエリの作成)」を参照してください。

Structured Query Language (SQL) の SELECT コマンドと同様に、SOQL では、ソースオブジェクト (Account など)、取得する項目のリスト、ソースオブジェクトから行を選択するための条件を指定できます。

SOQL では、SQL の SELECT コマンドの高度な機能のすべてはサポートされていません。たとえば、SOQL を使用して、任意の結合操作を実行したり、項目リストにワイルドカードを使用したり、計算式を使用したりはできません。

メモ

SOQL では、SELECT ステートメントを絞り込みステートメントと組み合わせて使用し、必要に応じて並び替えできるデータセットを返します。

たとえば、次の SOQL クエリは、Name の値が Sandy であるすべての取引先レコードの Id および Name 項目の値を返します。

Apex では、使用しているステートメントで SOQL ステートメントや SOSL ステートメントを使うには、角括弧で囲む必要があります。前にコロン (:) がある場合は、Apex スクリプト変数と式を使用できます。

メモ

構文についての詳細は、「SOQL SELECT の構文」を参照してください。

SOQL を使用するケース

データがどのオブジェクトに存在しているかを認識しており、次の操作を行う場合は、SOQL を使用します。
  • 1 つのオブジェクト、または相互に関連する複数のオブジェクトからデータを取得する。
  • 指定された条件を満たすレコードを数える。
  • クエリの一部として結果���並び替える。
  • 数値、日付、またはチェックボックス項目からデータを取得する。

アーカイブデータと Big Object では、一部の SOQL 機能のみを使用できます。詳細は、「Big Object を使用する SOQL」を参照してください。

メモ