Master Salesforce SOQL Queries
100+ essential SOQL queries to supercharge your Salesforce data analysis and automation.
User and Permission Management
Queries 1-5: Manage user data and permissions for IT and HR teams.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Account and Contact Management
Queries 6-16: Manage customer account and contact data for CRM.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Opportunity and Sales Management
Queries 17-30: Track sales performance and opportunities.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Lead Management
Queries 31-34: Monitor lead conversions and sources.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Case and Support Management
Queries 35-38: Manage customer support cases.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Apex and Development
Queries 39-42: Support Apex code development.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Advanced Queries and Aggregations
Queries 43-50: Perform complex data analysis.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Historical and Time-Based Queries
Queries 51-53: Track historical data changes.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Custom Object Queries
Queries 54-55: Handle custom objects.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Performance and Optimization
Queries 56-58: Optimize data retrieval.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Currency and Conversion
Query 59: Handle multi-currency data.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Relationship Queries
Queries 60-61: Navigate object relationships.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Filtering and Sorting
Queries 62-66: Sort and filter data.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Group By and HAVING
Queries 67-69: Aggregate and filter grouped data.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Deleted Records
Query 70: Retrieve deleted records.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Subqueries
Queries 71-72: Use subqueries for complex filtering.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Dynamic Queries
Query 73: Use dynamic SOQL in Apex.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
Additional Business Use Cases
Queries 74-100: Miscellaneous business scenarios.
SELECT Id, Name, Username, Email, Profile.Name, UserRole.Name FROM User
- Retrieve all user details.
SELECT Id, Name, IsActive FROM User WHERE IsActive = false
- Identify inactive users.
SELECT Field, PermissionsRead, PermissionsEdit FROM FieldPermissions WHERE SObjectType = 'Account'
- Check field accessibility.
SELECT Id, Name FROM RecordType WHERE SObjectType = 'Account'
- Retrieve account record types.
SELECT Id, Name FROM User WHERE LastLoginDate < LAST_90_DAYS
- Find users with no recent logins.
For further reading
Note: The effectiveness of these queries depends on your Salesforce configuration. Test them in a sandbox environment and adjust based on your data model.