You can evaluate Salesforce Object Query Language (SOQL) or Salesforce Object Search Language (SOSL) statements on-the-fly in Apex by surrounding the statement in square brackets.
SOQL Statements
SOQL statements evaluate
to a list of sObjects, a single sObject, or an Integer for count method queries.
For example,
you could retrieve a list of accounts that are named Acme:
From this list, you can access individual elements:
You can also create new objects from SOQL queries
on existing ones. The following example creates a new contact for
the first account with the number of employees greater than 10:
Note
that the newly created object contains null values for its fields,
which will need to be set.
The
count method can be used to return the number of rows returned
by a query. The following example returns the total number of contacts
with the last name of Weissman:
You can also operate on the results using standard arithmetic:
For a full description of SOQL query syntax, see the Salesforce SOQL and SOSL Reference Guide.
SOSL Statements
SOSL statements evaluate
to a list of lists of sObjects, where each list contains the search
results for a particular sObject type. The result lists are always
returned in the same order as they were specified in the SOSL query.
If a SOSL query does not return any records for a specified sObject
type, the search results include an empty list for that sObject.
For example, you can return a list of accounts, contacts, opportunities,
and leads that begin with the phrase map:
The syntax of the
FIND clause
in Apex
differs from the syntax of the
FIND
clause in the SOAP API and REST API :
- In Apex, the value of the FIND
clause is demarcated with single quotes. For
example:
- In the Force.com
API, the
value of the FIND clause is
demarcated with braces. For
example:
From
searchList, you can create arrays for each object returned:
For a full description of SOSL query syntax, see the Salesforce SOQL and SOSL Reference Guide.