Salesforceでデータを自在に検索・抽出したいなら、SOQL(Salesforce Object Query Language)の基本は必須です。本記事では、SQLとの違いや書き方の基本から、クエリエディターでの実行方法までを解説します。



🪐 クエリエディターとSOQLで、目的のレコードをクエリしよう!
Salesforceでは、データを柔軟に取得するために「SOQL(Salesforce Object Query Language)」という独自の言語を使用します。
「SQLと何が違うの?」という疑問はよくあるものですが、SOQLは“SELECT文のみを使ってオブジェクト(テーブル)からレコードを取得する”ことに特化した軽量な言語です。

1️⃣ STEP 1:クエリエディターを開くには?
まずはSalesforceの開発者コンソール(Developer Console)を開きましょう。
- Salesforce画面右上の歯車アイコン(⚙)をクリック
- 「開発者コンソール」を選択(新しいウィンドウが開きます)
- 下部のタブから「Query Editor」を選択
これで、SOQLクエリを入力できる専用のエディター画面が開きます。
2️⃣ STEP 2:SOQLの基本構文を理解しよう
SOQLは「どのオブジェクトから」「どの項目を」「どんな条件で」取得するかを明確に指定します。
SELECT 項目名1, 項目名2 FROM オブジェクト名 WHERE 条件
SELECT Name, Industry FROM Account WHERE Industry = 'Publishing'
このクエリは、Account
(取引先)オブジェクトから、Industry
が「Publishing」のレコードを取り出し、Name
とIndustry
の項目だけを表示するという意味です。
3️⃣ STEP 3:よく使うSOQLの構文いろいろ
▶ WHERE句で条件を指定する
SELECT Name FROM Contact WHERE LastName = 'Yamada'
姓が「Yamada」のコンタクトを検索。
▶ 複数条件を組み合わせる(AND / OR)
SELECT Name FROM Account WHERE Industry = 'Retail' AND BillingCountry = 'Japan'
▶ 条件を含めたいとき(LIKE)
SELECT Name FROM Account WHERE Name LIKE 'ABC%'
「ABC」で始まる名前の取引先を検索。
▶ 特定のレコードIDで絞り込む
SELECT Name FROM Contact WHERE AccountId = '001xxxxxxxxxxxx'
▶ 複数の値を含める(IN)
SELECT Name FROM Contact WHERE Department IN ('Sales', 'Marketing')
▶ 空の値を調べる(NULL / NOT NULL)
SELECT Name FROM Lead WHERE Email != NULL
4️⃣ STEP 4:実行して結果を確認しよう
クエリを入力したら、画面左下の「Execute」ボタンをクリック。
クエリの結果は、「Query Results」エリアにテーブル形式で表示されます。
5️⃣ STEP 5:LIMITで取得件数を制限する
SOQLでは大量データを扱う場合に備えて、LIMIT
句で取得件数を制限できます。
SELECT Name FROM Account LIMIT 10
6️⃣ STEP 6:ORDER BYで並び順を指定する
SELECT Name FROM Account ORDER BY CreatedDate DESC
ASC
:昇順(古い→新しい)DESC
:降順(新しい→古い)
📌 SOQLを書くときのコツ・ベストプラクティス
- Salesforceのオブジェクト構造(スキーマ)を理解しておくこと
- オブジェクト名や項目名を確認するには「オブジェクトマネージャ」を使うと便利です
- カスタム項目の項目名には__cがつく
- 例:
Custom_Field__c
- 例:
- 項目名は「項目の表示ラベル」ではなく、項目名(API名)を使う
- ❌ 項目の表示ラベル:
「取引先名」
⭕ 項目名(API名):Name
- ❌ 項目の表示ラベル:
🔍 活用例:営業部からのこんな依頼に応えるには?
依頼:「先月登録された、業種がITの取引先だけ教えてほしい」
SOQLクエリ:
SELECT Name, Industry, CreatedDate FROM Account WHERE Industry = 'Technology' AND CreatedDate = LAST_MONTH
📌 POINT:
LAST_MONTH
などの相対日付リテラルも使える- データ抽出依頼を受けたときに素早く対応できる
🌟 ノックスの格言
「クエリとは、管理者の目であり、耳である。“何が起きているか”を知るには、自ら問いかけるのです」
(銀河歴8221年 ネクタリス・オーヴァ大学 情報魔法学部『情報観測論』より)
(英語訳:”A query is the admin’s eyes and ears. To understand what is happening, one must ask.”)
(原語訳:”Queran silnath re’ven adminis. Valdra thasol, theran ka valun.”)
💡 さやかの学びメモ
SOQLはSalesforce専用の検索言語!
- 「SELECT ○○ FROM △△ WHERE □□」で、見たいレコードだけを抽出できる
- SELECT * は使えない。項目は明示的に書く!
クエリエディターの使い方も覚えた!
- 設定⚙ → 開発者コンソール → Query Editor タブ
- クエリを書いて「Execute」で実行!
では、また次回の 異星人Salesforce講座 でお会いしましょう!👽✨