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

Salesforce Object Query Language (SOQL)

Salesforce Object Query Language (SOQL) を使用して、組織の Salesforce データから特定の情報を検索できます。SOQL は、広く使用されている SQL (Structured Query Language) の SELECT ステートメントに似ていますが、Salesforce データ専用に設計されています。
SOQL を使用すると、次の環境でシンプルながら強力なクエリ文字列を作成できます。
  • query() コールの queryString パラメータ
  • Apex ステートメント
  • Visualforce コントローラおよび getter メソッド
  • Salesforce CLI、または Visual Studio Code 向け Salesforce 拡張機能

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」を参照してください。

メモ