GLOSSARY

Salesforce Object Query Language

SOQL

用語解説

SOQL(Salesforce Object Query Language)とは、Salesforceのデータを検索・取得するためのSQLライクなクエリ言語です。

標準的なSQLと似た構文(SELECT … FROM … WHERE …)を持ちますが、Salesforceのオブジェクト・リレーション構造に対応した拡張機能を持ちます。親子関係・子親関係のリレーショナルクエリ(サブクエリ)が可能で、例えば「取引先に紐づく商談を一度に取得する」といったクエリが書けます。Apexコードや開発者コンソール・Workbenchから実行でき、API経由でのデータ抽出にも使われます。SELECT COUNT()などの集計関数もサポートしています。ただしSQLのJOINや副問合せに相当する機能はSOQLではリレーション構文で代替します。

どんな場面で活用するか

  • Apexトリガー・クラス内で条件に合うレコードを効率的に取得したい
  • 開発者コンソール・Workbenchでデータの内容を確認・デバッグしたい
  • 外部システムからSalesforce REST APIでデータを取得する際のクエリを組み立てたい

よくある誤解

SOQLはSQLと完全互換」は誤りです。SOQLはSQLのサブセットであり、INNER JOIN・UNION・INSERT/UPDATE/DELETE(DMLはSOQL非対象)などは使用できません。また「すべてのフィールドを取得するSELECT *はSOQLで使える」という誤解がありますが、SOQLではワイルドカード指定はできません。

判断のヒント

効率的なSOQL記述のコツ:取得フィールドは必要最低限に絞り(SELECT *はNG)、WHEREの絞り込み条件を正確に指定してレコード数を最小化しましょう。ガバナー制限(1回のトランザクションで100クエリ上限)を意識した設計が、Apex開発では特に重要です。

「この用語を自社で活用できるか確認したい」
「どの施策から始めるべきか相談したい」

無料相談で最適な活用方法をご提案します。