I have recently come across SAQL and I'd like to understand the differences between all the different ways to query against Salesforce APIs. The new einstein branding is too complex to get my head around. So any help is appreciated.

Edit: We are exploring a project to analyze Salesforce data alongside our hadoop data to predict the renewal cycle. In the process, I am trying to understand what options does Salesforce provide to achieve this through their own features vs how much of it needs to be custom coded.

closed as unclear what you're asking by Pranay Jaiswal, Raul, glls, Himanshu, Martin Lezer Jan 7 at 9:29

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.


SQL is a more traditional and widespread query language. It is ubiquitous and not at all limited to just Salesforce. The one place it is used within the Salesforce system is Marketing Cloud.

SOQL is the basic query language used in Apex, the REST API, etc. (reference):

Use the Salesforce Object Query Language (SOQL) to search your organization’s Salesforce data for specific information. SOQL is similar to the SELECT statement in the widely used Structured Query Language (SQL) but is designed specifically for Salesforce data.

SOSL is similar to SOQL, but its use is generally across multiple objects at once, or when you don't necessarily know in which field the matching data might reside (reference):

Use the Salesforce Object Search Language (SOSL) to construct text-based search queries against the search index.

You can search text, email, and phone fields for multiple objects, including custom objects, that you have access to in a single query in the following environments.

When to Use SOSL

Use SOSL when you don’t know which object or field the data resides in, and you want to:

  • Retrieve data for a specific term that you know exists within a field. Because SOSL can tokenize multiple terms within a field and build a search index from this, SOSL searches are faster and can return more relevant results.
  • Retrieve multiple objects and fields efficiently where the objects might or might not be related to one another.
  • Retrieve data for a particular division in an organization using the divisions feature.
  • Retrieve data that’s in Chinese, Japanese, Korean, or Thai. Morphological tokenization for CJKT terms helps ensure accurate results.

SAQL was introduced with Wave and is used for analytics (reference):

Use SAQL (Salesforce Analytics Query Language) to access data in Analytics datasets. Analytics uses SAQL behind the scenes in lenses, dashboards, and explorer to gather data for visualizations.

Not the answer you're looking for? Browse other questions tagged or ask your own question.