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.