Help us understand the problem. What is going on with this article?

【SOQL】Salesforce開発者コンソール(Query)の使い方

More than 1 year has passed since last update.

はじめに

Salesforce内開発者コンソールでのSOQLの記述をまとめました。

コンソール(Query)の基本

まず、右上のユーザ名→開発者コンソールをクリックします。

コンソール画面で、
File → OpenResource → selectしたいオブジェクトを選択し、openをクリック
(取引先責任者だったらcontact、今回はcontactを指定)

また、openしたオブジェクトからselectしたい項目を複数指定して、左下のQueryをクリック。
(複数選択の仕方は、command押しながらクリック)

スクリーンショット 2018-04-09 14.11.15.png

Queryをクリックすると、下のQueryEditorにクエリが表示されるので、Exacuteを押すとデータを見ることができる。

スクリーンショット 2018-04-09 14.14.17.png

直接最初からQueryEditorに書いてもOK。

件数制限

ここからは、SalesforceのSOQLの記述について書いていきます。
10件だけ表示したい場合は

select Id,Name from Contact LIMIT 10

最後にLIMITを記述。

件数確認

select count(Id) from contact

重複除外した件数はこんな感じ

SELECT COUNT_DISTINCT(Name) FROM Account

条件指定

String型

名前がテストの人を検索

select Id,Name from contact where Name = 'テスト'

名前にテストが含まれている人を検索

select Id,Name from contact where Name LIKE '%テスト%'

名前にテストが含まれていない人を検索

select Id,Name from contact where NOT (Name LIKE '%テスト%')

Boolean型

true,falseは''で囲わない

SELECT Id, IsDeleted FROM Contact where IsDeleted = true

Date型

< > <= >= の記号も使える。

日付型も''で囲わない。yyyy-mm-ddで記述

SELECT Id, Birthdate FROM Contact where Birthdate = 1951-09-07

下記のように、todayやyesterdayでも指定できる。

SELECT Id, Birthdate FROM Contact where Birthdate = today

詳細:SalesforceDevelopers「日付形式と日付リテラル」
https://developer.salesforce.com/docs/atlas.ja-jp.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_dateformats.htm

DateTime型

< > <= >= の記号も使える。
またData型同様、todayやyesterdayでも指定できる。

SELECT Id, CreatedDate FROM Contact where createddate = 2018-01-30T00:00:00.000+0000

LIKE句

select Id,Name from contact where Name like '田中%' 

NOT LIKE句

select Id,Name from contact where (NOT Name like '田中%')

並び替え

日付の順番、数字の順番に並び替える

  • 昇順
SELECT Id, CreatedDate FROM Contact order by createddate
  • 降順
SELECT Id, CreatedDate FROM Contact order by createddate desc

参照先の情報を取得

参照項目の先の項目の値を取得したい時は、
参照項目名.参照先の項名目 と記述する。

カスタム項目の場合、__c を  __r にかえる

SELECT Id,Account.Name FROM Contact

エラーになる場合

  • ロングテキストエリア、リッチテキストエリアの項目はWHERE句に指定できない
  • 件数が多すぎるとエラーになる

最後に

salesforceのSOQLは結構制限がありますが、
少し確認したい時など、とても便利に使えるのでもっと様々な機能を勉強して活用していきたいと思います!

szaizen
3年目Webエンジニアです✏️ フロント強いウーマンになりたい
liginc
上野でウェブ制作を行うクリエイティブ集団です。HP制作、プロモーション、システム開発等を行っています。
https://liginc.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした