Advertisement
airton-junior

SOQL Queries

Mar 21st, 2023
749
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.36 KB | None | 0 0
  1. //Busca de filho standard para de um determinado pai standard
  2. List<Contact> contatos = [SELECT Name, email FROM Contact WHERE Account.Name LIKE 'U%'];
  3. System.debug(contatos);
  4.  
  5. //Busca de filho custom para um determinado pai standard
  6. List<Filial__c> filiais = [SELECT Name, email__c FROM Filial__c WHERE Account__r.Name LIKE 'Bur%'];
  7. System.debug(filiais);
  8.  
  9. //Busca de filho standard para de um determinado pai standard
  10. List<Contact> contatos = [SELECT Name, email FROM Contact WHERE Account.billingstate = 'CA'];
  11. System.debug(contatos);
  12.  
  13. //Busca de filho custom para um determinado pai standard
  14. List<Filial__c> filiais = [SELECT Name, email__c FROM Filial__c WHERE Account__r.billingstate = 'NC'];
  15. System.debug(filiais);
  16. //*****************************************************************************/
  17.  
  18. //SELECT Name, email__c FROM Filial__c ORDER BY Name ASC
  19. //Query que exibe todos os registros do objeto Filial (Objeto Custom) em ordem ascendente
  20.  
  21. //SELECT Name, phone FROM Account ORDER BY Name ASC
  22. //Query que exibe todos os registros do objeto conta (Objeto Standard) em ordem ascendente
  23.  
  24. //Faz busca de todos os registros do tipo Filial__c (Objeto Custom), trazendo somente os campos Name e Email
  25. List<Filial__c> listaDeFiliais = [SELECT Name, email__c FROM Filial__c];
  26. System.debug(listaDeFiliais);
  27. //(Filial__c:{Name=Cinema Panamericano, email__c=cinepana@bol.com.br, Id=a02Dn000003s77fIAA}, Filial__c:{Name=Farmácia do José, email__c=jose.farma@gmail.com, Id=a02Dn000003s75aIAA}, Filial__c:{Name=Padaria Romana, email__c=romana@padaria.com.br, Id=a02Dn000003s77VIAQ}, Filial__c:{Name=Boston Dynamics, email__c=boston@dynamics.conta1.com.br, Id=a02Dn000003s2lPIAQ})
  28.  
  29. //Ordena busca de casos por ordem ascendente de Name
  30. List<Filial__c> listaDeFiliais = [SELECT Name, email__c FROM Filial__c ORDER BY Name ASC];
  31. System.debug(listaDeFiliais);
  32. //(Filial__c:{Name=Boston Dynamics, email__c=boston@dynamics.conta1.com.br, Id=a02Dn000003s2lPIAQ}, Filial__c:{Name=Cinema Panamericano, email__c=cinepana@bol.com.br, Id=a02Dn000003s77fIAA}, Filial__c:{Name=Farmácia do José, email__c=jose.farma@gmail.com, Id=a02Dn000003s75aIAA}, Filial__c:{Name=Padaria Romana, email__c=romana@padaria.com.br, Id=a02Dn000003s77VIAQ})
  33.  
  34. //Ordena busca de casos por ordem descendente de CaseNumber com retorno máximo de 5 registros
  35. List<Case> listaDeCases = [SELECT Subject, Description, casenumber FROM Case ORDER BY Casenumber DESC LIMIT 5];
  36. System.debug(listaDeCases);
  37. //(Case:{Subject=Motor design hindering performance, CaseNumber=00001025, Id=500Dn0000073IewIAE}, Case:{Subject=Design issue with mechanical rotor, CaseNumber=00001024, Id=500Dn0000073IevIAE}, Case:{Subject=Electric surge damaging adjacent equipment, CaseNumber=00001023, Id=500Dn0000073IeuIAE}, Case:{Subject=Signal panel on GC5060 blinks intermittently, CaseNumber=00001022, Id=500Dn0000073IetIAE}, Case:{Subject=Generator GC3060 platform structure is weakening, CaseNumber=00001021, Id=500Dn0000073IesIAE})
  38.  
  39. /*
  40. WHERE
  41. LIKE
  42. Caractere Coringa: %
  43. AND e OR
  44. IN
  45. NOT IN
  46. INCLUDES
  47. EXCLUDES
  48. ORDER BY
  49. HAVING
  50. GROUP BY
  51. COUNT_DISTINCT
  52. MAX, MIN, AVG, SUM
  53. */
  54.  
  55. /*
  56. =   Igual
  57. !=  Diferente
  58. <   Menor que
  59. <=  Menor ou igual
  60. >   Maior que
  61. >= Maior ou igual
  62. */
  63.  
  64. List<Case> listaDeCases = [SELECT Subject, CreatedDate, CaseNumber FROM Case WHERE Subject LIKE 'S%' AND CreatedDate >= 2022-01-01T00:00:00-03:00 ORDER BY Casenumber DESC LIMIT 5];
  65. System.debug(listaDeCases);
  66. //(Case:{Subject=Signal panel on GC5060 blinks intermittently, CreatedDate=2023-02-13 12:49:05, CaseNumber=00001022, Id=500Dn0000073IetIAE}, Case:{Subject=Structural failure of generator base, CreatedDate=2023-02-13 12:49:05, CaseNumber=00001019, Id=500Dn0000073IeqIAE}, Case:{Subject=Shutting down of generator, CreatedDate=2023-02-13 12:49:05, CaseNumber=00001017, Id=500Dn0000073IeoIAE}, Case:{Subject=Starting up generator consumes excessive power, CreatedDate=2023-02-13 12:49:05, CaseNumber=00001013, Id=500Dn0000073IekIAE}, Case:{Subject=Structural breakdown of rotor assembly, CreatedDate=2023-02-13 12:49:05, CaseNumber=00001007, Id=500Dn0000073IeeIAE})
  67.  
  68. //2022-01-01T00:00:00-03:00 = ano-mes-diaThora-min-seg_+/-fuso_horario
  69. //fuso horário de Brasília = -03:00GMT
  70.  
  71. //Abaixo, busca com closeddate igual a null
  72. List<Case> listaDeCases = [SELECT Subject, CreatedDate, CaseNumber, ClosedDate FROM Case WHERE ClosedDate = null ORDER BY Casenumber  DESC LIMIT 5];
  73. System.debug(listaDeCases);
  74.  
  75. //Abaixo, busca com closeddate diferente de null
  76. List<Case> listaDeCases = [SELECT Subject, CreatedDate, CaseNumber, ClosedDate FROM Case WHERE ClosedDate != null ORDER BY Casenumber  DESC LIMIT 5];
  77. System.debug(listaDeCases);
  78.  
  79. //Abaixo, só busca os registros cujos estados de cobrança sejam os mencionados dentro dos parênteses
  80. //após o IN
  81. List<Account> contas = [SELECT Name, billingstate FROM Account WHERE billingstate IN('NY', 'CA', 'UK', 'AZ')];
  82. System.debug(contas);
  83.  
  84. //Abaixo, só busca os registros cujos estados de cobrança sejam diferentes dos mencionados dentro dos parênteses após o IN
  85. List<Account> contas = [SELECT Name, billingstate FROM Account WHERE billingstate NOT IN('NY', 'CA', 'UK', 'AZ')];
  86. System.debug(contas);
  87.  
  88. //Abaixo faz busca Agregada, agrupando por LeadSource e mostrando a contagem de registros por cada LeadSource
  89. List<AggregateResult> contagemAgrupadaPorLeadSource = [SELECT LeadSource, COUNT(Name) FROM Lead GROUP BY LeadSource];
  90. System.debug(contagemAgrupadaPorLeadSource);
  91. //(AggregateResult:{LeadSource=null, expr0=33}, AggregateResult:{LeadSource=Web, expr0=11}, AggregateResult:{LeadSource=Phone Inquiry, expr0=4}, AggregateResult:{LeadSource=Partner Referral, expr0=4}, AggregateResult:{LeadSource=Purchased List, expr0=7}, AggregateResult:{LeadSource=Other, expr0=4}, AggregateResult:{LeadSource=Advertisement, expr0=27}, AggregateResult:{LeadSource=Employee Referral, expr0=4}, AggregateResult:{LeadSource=External Referral, expr0=3}, AggregateResult:{LeadSource=Partner, expr0=4}, ...)
  92.  
  93. //Faz a contagem de todos os Leads e retorna um número inteiro
  94. Integer qtde = [SELECT count() FROM Lead];
  95. System.debug(qtde);
  96. //15:39:52.25 (43949911)|USER_DEBUG|[2]|DEBUG|110
  97.  
  98. List<AggregateResult> oppAgrupStage = [SELECT StageName, COUNT(Name) FROM Opportunity GROUP BY StageName];
  99. System.debug(oppAgrupStage);
  100. //(AggregateResult:{StageName=Prospecting, expr0=22}, AggregateResult:{StageName=Qualification, expr0=1}, AggregateResult:{StageName=Needs Analysis, expr0=5}, AggregateResult:{StageName=Value Proposition, expr0=2}, AggregateResult:{StageName=Id. Decision Makers, expr0=3}, AggregateResult:{StageName=Perception Analysis, expr0=7}, AggregateResult:{StageName=Proposal/Price Quote, expr0=2}, AggregateResult:{StageName=Negotiation/Review, expr0=2}, AggregateResult:{StageName=Closed Won, expr0=21})
  101.  
  102. //Busca das filiais que estejam no estado do RN "E" estejam no estado do CE
  103. List<Filial__c> filiaisEstados = [SELECT Name, email__c FROM Filial__c WHERE Estados__c INCLUDES('RN;CE')];
  104. System.debug(filiaisEstados);
  105.  
  106. //Busca das filiais que NÃO estejam no estado do RN "E" NÃO estejam no estado do CE
  107. List<Filial__c> filiaisEstados = [SELECT Name, email__c FROM Filial__c WHERE Estados__c EXCLUDES('RN;CE')];
  108. System.debug(filiaisEstados);
  109.  
  110. //Busca das filiais que estejam no estado de SP "OU" no estado do RJ
  111. List<Filial__c> filiaisEstados = [SELECT Name, email__c FROM Filial__c WHERE Estados__c INCLUDES('SP') OR Estados__c INCLUDES('RJ')];
  112. System.debug(filiaisEstados);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement