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

レッスン 2: SOQL および SOSL クエリ

データベースシステムがクエリ言語によるデータ取得をサポートするのと同様に、Force.com 永続レイヤでも 2 つのクエリ言語を提供します。

  • Salesforce Object Query Language (SOQL) は、クエリ専用言語です。いくつかの点で SQL と似ていますが、結合ではなくリレーションを使用してデータのより直観的なナビゲーションを可能にするオブジェクトクエリ言語です。単一の sObject とその関連 sObject のデータ取得に使用される主クエリ言語です。この後に例があります。
  • Salesforce Object Search Language (SOSL) は、複数の永続オブジェクトすべてを同時に検索する簡易言語です。SOSL は、Apache Lucene と似ています。

Apex はデータベースと緊密に統合されているため、多くのコードを追加しなくても、Apex で直接クエリを記述できます。

SOQL クエリの例

SOQL クエリは、角括弧で囲みます。次の例では、name 項目の値が「Pencils」と等しい sObject (データベースからのレコード) を取得します。
次の例では、0 個以上の商品品目があることを前提として、一致する商品品目をすべて取得し、リストに割り当てます。例のように、SOQL クエリに変数を含めるには、変数の前にコロン (:) を付けます。
次のコードを実行して、最初に一致した商品品目を取得し、その Total_Inventory__c 項目を変数に割り当てます。

出力は次のようになります。

Total inventory: 1000.0

SOSL クエリの例

SOSL ステートメントは、sObject リストの一覧に対して評価を行います。各リストには特定の sObject 型の検索結果が含まれます。次の例では、すべての Merchandise__c sObject と Inventory_Statement__c sObject を対象にすべての項目を検索します。次のコードを実行します。

次のような出力が得られます。

Found 1 merchandise items.

Found 0 invoice statements.