SELECT 句の例
SOQL を使用するテキスト検索の例を次に示します。
| 検索タイプ | 例 |
|---|---|
| 単純なクエリ | SELECT Id, Name, BillingCity FROM Account |
| WHERE | SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California' |
| ORDER BY | SELECT Name FROM Account ORDER BY Name DESC NULLS LAST |
| LIMIT | SELECT Name FROM Account WHERE Industry = 'media' LIMIT 125 |
| ORDER BY と LIMIT | SELECT Name FROM Account WHERE Industry = 'media' ORDER BY BillingPostalCode ASC NULLS LAST LIMIT 125 |
| count() | SELECT COUNT() FROM Contact |
| GROUP BY | SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource |
| HAVING | SELECT Name, COUNT(Id) FROM Account GROUP BY Name HAVING COUNT(Id) > 1 |
| OFFSET と ORDER BY | SELECT Name, Id FROM Merchandise__c ORDER BY Name OFFSET 100 |
| OFFSET と ORDER BY、LIMIT の併用 | SELECT Name, Id FROM Merchandise__c ORDER BY Name LIMIT 20 OFFSET 100 |
| リレーションクエリ: 子-親 |
SELECT Contact.FirstName, Contact.Account.Name FROM Contact SELECT Id, Name, Account.Name FROM Contact WHERE Account.Industry = 'media' |
| リレーションクエリ: 親-子 |
SELECT Name, (SELECT LastName FROM Contacts) FROM Account SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts) FROM Account |
| WHERE を使用するリレーションクエリ | SELECT Name, (SELECT LastName FROM Contacts WHERE CreatedBy.Alias = 'x') FROM Account WHERE Industry = 'media' |
| リレーションクエリ: カスタムオブジェクトを使用する子-親 | SELECT Id, FirstName__c, Mother_of_Child__r.FirstName__c FROM Daughter__c WHERE Mother_of_Child__r.LastName__c LIKE 'C%' |
| リレーションクエリ: カスタムオブジェクトを使用する親-子 | SELECT Name, (SELECT Name FROM Line_Items__r) FROM Merchandise__c WHERE Name LIKE ‘Acme%’ |
| 多態的なキーを使用するリレーションクエリ |
SELECT Id, Owner.Name FROM Task WHERE Owner.FirstName like 'B%' SELECT Id, Who.FirstName, Who.LastName FROM Task WHERE Owner.FirstName LIKE 'B%' SELECT Id, What.Name FROM Event |
| TYPEOF を使用する多態的なリレーションクエリ | SELECT TYPEOF What WHEN Account THEN Phone, NumberOfEmployees WHEN Opportunity THEN Amount, CloseDate ELSE Name, Email END FROM Event |
| 集計を使用するリレーションクエリ |
SELECT Name, (SELECT CreatedBy.Name FROM Notes) FROM Account SELECT Amount, Id, Name, (SELECT Quantity, ListPrice, PricebookEntry.UnitPrice, PricebookEntry.Name FROM OpportunityLineItems) FROM Opportunity |
| 単純なクエリ: 各ユーザの UserId と LoginTime | SELECT UserId, LoginTime from LoginHistory |
| 特定時間範囲のユーザあたりのログイン回数を使用するリレーションクエリ | SELECT UserId, COUNT(Id) from LoginHistory WHERE LoginTime > 2010-09-20T22:16:30.000Z AND LoginTime < 2010-09-21T22:16:30.000Z GROUP BY UserId |