📢✨ Explorando Consultas SOQL e SOSL no Salesforce! ✨📢

Olá, desenvolvedores Salesforce! Hoje vamos explorar algumas consultas SOQL (Salesforce Object Query Language) e SOSL (Salesforce Object Search Language) para ajudá-lo a aprimorar suas habilidades de consulta no Salesforce. Vamos dar uma olhada em alguns exemplos práticos:

1️⃣ Consulta SOQL básica:

SELECT id FROM Account

2️⃣ Consultas SOQL com filtros:

SELECT id, Name FROM Account WHERE Name='onlysalesforce'
SELECT Name, Industry FROM Account WHERE Industry='Energy'
SELECT Name, Industry FROM Account WHERE Industry='Energy' AND Gender__c='MALE'
SELECT Name, Probability FROM Opportunity WHERE Probability >= 50

3️⃣ Consultas SOQL com operadores lógicos:

SELECT Name, Industry FROM Account WHERE Industry='Energy' AND Gender__c='MALE'
SELECT Name, Industry FROM Account WHERE Industry='Energy' OR Industry='Education'
SELECT Name, Industry FROM Account WHERE (Industry='Energy' AND Gender__c='MALE') OR (Industry='Education' AND Gender__c='FEMALE')

4️⃣ Consultas SOQL com operador “NOT”:

SELECT Name, Industry FROM Account WHERE Gender__c='FEMALE'
SELECT Name, Industry FROM Account WHERE Gender__c<>'MALE'

5️⃣ Consultas SOQL com limite de resultados:

SELECT Name FROM Account LIMIT 10
SELECT Name FROM Opportunity WHERE StageName='Closed Won' LIMIT 1

6️⃣ Consultas SOQL com ordenação:

SELECT Name FROM Account ORDER BY Name
SELECT Name FROM Opportunity WHERE StageName='Closed Won' ORDER BY LastModifiedDate DESC LIMIT 10

7️⃣ Consultas SOQL com operador “LIKE”:

SELECT id FROM Account WHERE Name LIKE '%luis%'
SELECT id FROM Account WHERE Name LIKE 'antonio%'
SELECT id FROM Account WHERE Name LIKE '%luis'
SELECT id FROM Account WHERE NOT (Name LIKE '%luis%')

8️⃣ Consultas SOQL com operador “IN”:

SELECT id FROM Account WHERE Name IN ('luis', 'antonio', 'John')

9️⃣ Consultas SOQL com listas e atualizações:

List<Account> accList = [SELECT id FROM Account];
List<Opportunity> oppList = [SELECT Name FROM Opportunity WHERE StageName='Closed Won'];

List<Account> accList = [SELECT Name FROM Account WHERE CreatedDate=THIS_YEAR];
for (Account acc : accList) {
acc.Name = acc.Name + '2023';
}
Update accList;

🔟 Consultas SOQL com variáveis:

String var = 'luis';
List<Account> accList = [SELECT Name FROM Account WHERE Name = :var];

Set<String> nameSet = new Set<String>{'luis', 'antonio', 'John'};
List<Account> accList = [SELECT Name FROM Account WHERE Name IN :nameSet];

1️⃣1️⃣ Consultas SOQL com datas:

SELECT Id, Name FROM Account WHERE LastModifiedDate = TODAY
SELECT Id, Name FROM Account WHERE CreatedDate = LAST_YEAR
SELECT Name FROM Opportunity WHERE LastModifiedDate = LAST_N_WEEKS:6

1️⃣2️⃣ Consultas SOQL com relacionamentos:

SELECT LastName, Account.Name FROM Contact
SELECT Amount__c, Employee__r.Name FROM Salary__c
SELECT Account.Owner.Email FROM Contact WHERE Id = 'luis'

1️⃣3️⃣ Consultas SOQL com subconsultas:

SELECT Name, (SELECT LastName FROM Contacts) FROM Account
SELECT Name, (SELECT Amount__c FROM Salaries__r) FROM Employee__c

1️⃣4️⃣ Consultas SOSL (Salesforce Object Search Language):

As consultas SOSL são usadas para pesquisar registros em vários objetos Salesforce. Elas permitem pesquisar por termos específicos e retornar resultados relevantes. Esses exemplos demonstram como fazer pesquisas por “luis” em diferentes contextos e como especificar quais campos e objetos devem ser retornados nos resultados.

FIND {luis}
/*Usando essa consulta SOSL, irá pesquisar por "luis" em todo o sistema. 
Ela retornará o Id do registro; essa busca não diferencia maiúsculas e minúsculas.*/

FIND {luis} IN Name Fields RETURNING Account
/*Essa consulta irá pesquisar por "luis" no campo de nome (Name) dos registros de Account e 
retornará o Id do registro.*/

FIND {luis} IN Name Fields RETURNING Account(Name, Industry)
/*Essa consulta irá pesquisar por "luis" no campo de nome (Name) dos registros de Account e 
retornará o Id do registro, juntamente com os campos Name e Industry.*/

FIND {luis} IN Name Fields RETURNING Account(Name, Industry), Contact(Name, Phone)
/*Essa consulta irá pesquisar por "luis" no campo de nome (Name) dos registros de Account e 
retornará o Id do registro, juntamente com os campos Name e Industry, além dos campos Name e 
Phone dos registros relacionados de Contact.*/

FIND {luis} IN Name Fields RETURNING Account(Name, Industry WHERE CreatedDate = THIS_YEAR)
/*Essa consulta irá pesquisar por "luis" no campo de nome (Name) dos registros de Account onde 
o registro foi criado neste ano, e retornará o Id do registro, 
juntamente com os campos Name e Industry.*/

1️⃣5️⃣ Consultas SOSL com resultados em listas:

List<List<SObject>> searchList = [FIND 'SFDC' IN ALL FIELDS RETURNING Account(Name), Contact(FirstName, LastName)];

List<List<SObject>> searchList = [FIND 'test' IN ALL FIELDS RETURNING Account(Id, Name, Type), Contact(Name, Email), Opportunity(Name, StageName), Lead(Company, Name, Status)];

List<Account> accList = ((List<Account>)searchList[0]);
List<Contact> conList = ((List<Contact>)searchList[1]);
List<Opportunity> optyList = ((List<Opportunity>)searchList[2]);
List<Lead> leaList = ((List<Lead>)searchList[3]);

Espero que esses exemplos de consultas SOQL e SOSL ajudem você a aprimorar suas habilidades de consulta no Salesforce! Fique à vontade para experimentar esses exemplos e adaptá-los às suas necessidades. Aproveite ao máximo o poder das consultas no Salesforce!

#Salesforce #DesenvolvimentoSalesforce #SOQL #SOSL #OnlySalesforceTips

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *