この文章は 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 メソッド
  • Force.com IDE の Schema Explorer

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

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

メモ

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

1SELECT one or more fields 
2FROM an object 
3WHERE filter statements and, optionally, results are ordered 
たとえば、次の SOQL クエリは、Name の値が Sandy であるすべての取引先レコードの Id および Name 項目の値を返します。
1SELECT Id, Name
2FROM Account
3WHERE Name = 'Sandy'

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

メモ

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

SOQL を使用するケース

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

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

メモ