はじめに
Salesforce内開発者コンソールでのSOQLの記述をまとめました。
コンソール(Query)の基本
まず、右上のユーザ名→開発者コンソールをクリックします。
コンソール画面で、
File → OpenResource → selectしたいオブジェクトを選択し、openをクリック
(取引先責任者だったらcontact、今回はcontactを指定)
また、openしたオブジェクトからselectしたい項目を複数指定して、左下のQueryをクリック。
(複数選択の仕方は、command押しながらクリック)
Queryをクリックすると、下のQueryEditorにクエリが表示されるので、Exacuteを押すとデータを見ることができる。
直接最初から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は結構制限がありますが、
少し確認したい時など、とても便利に使えるのでもっと様々な機能を勉強して活用していきたいと思います!