Skip to main content

Why should I use SOQL?

You need data, fast!
Anyone can SOQL!
Whether it's exporting a csv or answering a question, SOQL can get you the result much faster than creating a Salesforce report.

My top 3 reasons to use SOQL are:
  1. Get data fast
  2. Get answers fast
  3. Flexible access

Get Data Fast

How often do you find yourself making a throwaway report to check what is happening in the system? For example, you updated your Lead routing and want to see if it's been assigning Leads as you expect. Well you could make a report, run it and review the results. Or you could run a SOQL query.

The benefits of running a SOQL query in this case is that you can retrieve different data sets much quicker. In a Salesforce report, you are stuck with the Report Type you selected when creating the report. With SOQL, you can traverse object relationships in a much more natural way.

Get Answers Fast

Have you ever been in a meeting and someone asks a data question that no one has the answer to? Well SOQL comes in handy here because you can run a quick query and get the answer, fast!

Plus, you look like a real Salesforce wiz 😎

Flexible Access

I primarily use 2 different tools to execute SOQL queries:
  1. SFDX Command Line Interface via the sfdx force:data:soql:query command
  2. Illuminated Cloud execute anonymous SOQL Query interface
I'm a big fan of running queries right from the command line because I don't have to load up a web browser or another application. But if I'm in the middle of development or need the intellisense to tell me what the field names are, Illuminated Cloud comes to the rescue.

If you're not familiar with these tools, I highly recommend to check them out. But if you'd like to get started with something familiar, Workbench has a nice SOQL interface.

Pro-tip with Workbench: If you set a browser bookmark after your query runs, you can return to that bookmark and it will re-run your query!

There are many other ways to run SOQL queries including from the Salesforce Developer Console or any number of tools that have been built by 3rd party vendors.

How to Getting Started?

If SOQL is new to you, check out Write SOQL Queries on Trailhead
If you've done some SQL in the past, check out Move from SQL to SOQL on Trailhead
If you'd like to run SOQL from the command line, check out my post on SOQL from the Command Line

Comments

Popular posts from this blog

Salesforce Lighting Migration: Plan for Success

In April 2018, I led the Salesforce Lightning Migration at Postmates. This is how I would do it over again if I could.

Define Goals The goals of a Lightning Migration are: Enable Lightning ExperienceConfigure Lightning ExperienceDocument all Salesforce processesCreate training and support materialsLightning Experience is adopted Easy enough right? Let's go though the plan to see how we accomplish each one. Enable Lightning Experience Just turn it on right? Well, kinda.
Although it may be controversial, I recommend turning it on and hiding the option from all users. This can be done by removing the Lightning Experience User permission from your custom profiles. 
And yes, turn it on in production
Why? You're going to turn it on anyway. Salesforce has declared this as the path forward, so you either turn it on now or wait until they flip the switch for you.
Plus, turning this on ahead of time will make deploying from a sandbox much easier. Trust me.
Goal #1 Enable Lightning Exp…

Why Users Switch Back to Classic

When rolling out Lightning Experience, people are constantly switching back to Classic. Even after the initial rollout it's common to see people switching back and forth.

The most common reasons someone switches back to Classic are:
Classic loads fasterTheir workflow is slower in LightningThey just don't want to switch to Lightning Overcoming these objections will be key to a successful rollout. Let's dive into each one in more detail. Classic Loads Faster It does. 😢
And when you hear someone complain about this, take their side.  Agree with them.  Make that ironic joke, "haha, yeah Classic is faster than Lightning". ⚡⚡⚡
Then overcome this by highlighting how their overall workflow is faster in Lightning.
The page takes longer to load because each page is made up of many components. Once it has loaded, someone can complete their task on a single page. Their Workflow is Slower in Lightning It probably is. At least until they get used to it. 👨‍💻👩‍💻
Similarly, i…

Modify Salesforce Data from the Command Line

When doing Salesforce data loads, how often are you putting the same value in an entire column? I find this happening when I need to:
Move all accounts from one user to anotherAssign a set of leads to a specific userSet a field to a specific value Let's use the example from my other post: Salesforce Data Loads from the Command Line - Move all accounts owned by one user to another user. Magic Let's break down each piece of this: soql This is an alias I set for sfdx force:data:soql:query --query. It saves me from having to type this out each time and let's me query from the command line by just typing soql and my query.

This is a popular StackExchange post that talks about how to set an alias.
cat This command outputs the contents of a file. It is common to use this command with other commands by piping the output into another command. In our example, we are piping the output into the cut command.
This post gives more examples of how to use the cat command. cut This is a comm…