SlideShare une entreprise Scribd logo
1  sur  14
SOQL : Guide des débutants
ABDELHAKIM
MOUTTAQUI
Chef de projets Sénior, SIWAY
@adbelhakim
@casasfdug
@SiWay_WebAgency
https://ma.linkedin.com/in/abdelhakimmouttaqui
https://www.linkedin.com/company/siway
http://abdelhakimmouttaqui.blogspot.com/
abdelhakim.mouttaqui@siway.fr
contact@siway.fr
SIWAY - VOTRE INTÉGRATEUR CERTIFIE SALESFORCE
SOQL : GUIDE DES DÉBUTANTS
Sommaire :
1. Qu’est-ce que c’est SOQL et pourquoi devrais-je l’apprendre?
2. Où écrire des requêtes SOQL
3. Exemple: Comment écrire une requête SOQL simple
4. Exemple: Comment écrire une requête SOQL cross-objet («vers le haut»)
5. Exemple: Comment écrire une requête SOQL cross-objet («vers le bas»)
SOQL : GUIDE DES DÉBUTANTS
QU’EST-CE QUE C’EST SOQL ET POURQUOI DEVRAIS-JE L’APPRENDRE?
SOQL est le langage officielle de requête de Salesforce.
Il est basé sur SQL !
En un mot, SOQL est juste un outil qui vous permet d'accéder à
n’importe quel enregistrement dans votre base de données
Salesforce. Voici un exemple:
SELECT Id, Name, Email, AccountId FROM Contact
Dans le code ci-dessus, nous utilisons SOQL pour accéder à ces
quatre champs pour chaque contact dans Salesforce!
SOQL : GUIDE DES DÉBUTANTS
QU’EST-CE QUE C’EST SOQL ET POURQUOI DEVRAIS-JE L’APPRENDRE?
Voici pourquoi SOQL est significatif:
1. Vous pouvez utiliser les deux SOQL et Apex dans un déclencheur
2. SOQL vous permet de faire des actions cross-object dans votre
déclencheur
SOQL vous permet d'accéder aux enregistrements qui sont normalement pas
disponible dans votre déclencheur.
Par exemple, si vous écrivez un déclencheur sur les pistes, vous pouvez utiliser
SOQL d'accéder aux données de l'utilisateur, un objet totalement
indépendants!
3. La maîtrise SOQL est la clé de la maîtrise Apex
Un bon développeur Salesforce empêche leur code d’atteindre ces
limites en utilisant efficacement SOQL.
SOQL : GUIDE DES DÉBUTANTS
OÙ ÉCRIRE DES REQUÊTES SOQL
Vous avez probablement déjà écrit SOQL, mais vous ne pourriez pas
le réaliser encore!
Est-ce que ceci est familier pour vous?
OUI - vous pouvez écrire des requêtes SOQL dans Data Loader!
Et oui, vous pouvez contourner l'interface utilisateur et il suffit de
taper votre requête dans la boîte!
SOQL : GUIDE DES DÉBUTANTS
OÙ ÉCRIRE DES REQUÊTES SOQL
Mais il ya encore un meilleur endroit pour écrire SOQL, et il est à la mode ces
jours. Je parle de nouvel outil de Salesforce appelé Workbench.
Pour commencer l'écriture de requêtes SOQL, connectez-vous simplement à
Workbench (https://workbench.developerforce.com/login.php) et rendez-vous ici:
Queries >> SOQL Query
L'écriture de requêtes SOQL dans Workbench ou Data Loader est utile pour
tester vos requêtes, mais le pouvoir réel de SOQL vient quand vous l’utilisez
avec Apex, comme dans un déclencheur.
SOQL : GUIDE DES DÉBUTANTS
EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL SIMPLE
SOQL est tellement fondamentale que je n'ai presque pas besoin d'expliquer ces exemples !
Ceci est votre requête de base qui tire trois champs standard et un champ personnalisé de chaque contact.
SELECT Id, Name, Sex__c, BirthDate FROM Contact
La clause WHERE :
SELECT Id, Name, Sex__c FROM Contact WHERE DoNotCall = false
L'utilisation de valeurs TEXTE, PickList, ou ID:
SELECT Id, Name, Phone, Birthdate, Likes_Ice_Cream__c
FROM Contact
WHERE Phone != null
AND Sex__c = 'Female'
AND RecordTypeId != '012i0000000ES3H'
Toujours entourer ces trois types de données dans des guillemets simples !
Utilisation de dates :
SELECT Id, Name, Phone, Birthdate, Likes_Ice_Cream__c
FROM Contact
WHERE Phone != null
AND BirthDate = TODAY
SOQL : GUIDE DES DÉBUTANTS
EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE HAUT»)
Chaque fois que vous deux objets connectés dans SALESFORCE, vous allez
devoir soit accéder au données vers le HAUT ou bien vers le BAS.
«Upwards traversal» est utilisée chaque fois qu'il ya un champ de l'objet de type
«lookup» ou «master-detail». Ceci est parfois désigné comme allant de l'enfant au
parent.
Voici quelques exemples de parcours vers le haut:
SELECT Id, Account.Name, Account.Industry, Account.Website
FROM Contact
WHERE Account.NumberOfEmployees >= 200
L'exemple ci-dessus peut vous sembler familier - si vous avez créer un WORKFLOW sur les
contacts, vous seriez en mesure de référencer les champs de compte du contact en utilisant la
même notation par points.
SELECT Account.Owner.Profile.CreatedBy.Name FROM Contact
Vous pouvez parcourir plusieurs niveaux vers le haut!
SELECT Id, Best_Friend__r.Likes_Ice_Cream__c FROM Contact
Ici, nous allons parcouru un champ «lookup» personnalisé «Best_Friend__c» sur l'objet de contact.
Remarquez comment la «__C» se transforme en «__r» en parcourant ce domaine!
SOQL : GUIDE DES DÉBUTANTS
EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE BAS»)
Parcours vers le bas est quand vous récupérez des enregistrements d'une
liste liée. Par exemple, si nous faisons une requête SOQL sur les comptes, le
parcours vers le bas pourrait extraire des données de contacts du compte.
Jetons un œil à une requête SOQL Parcours vers le bas:
SELECT Id, Name, Industry, AnnualRevenue,
( SELECT Name, Email, BirthDate FROM Contacts )
FROM Account
Nous avons essentiellement deux requêtes dans une instruction SOQL. Un
pour récupérer les données générales de compte, et l'autre pour récupérer
la liste de contacts liés.
SOQL : GUIDE DES DÉBUTANTS
EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE BAS»)
Ne pas oublier ces trois choses lorsque vous utilisez le Parcours vers le bas :
1. La requête imbriquée est traitée comme un autre champ. Voilà pourquoi il y a une virgule après le champ de
AnnualRevenue.
2. Nous utilisons la version pluriel "Contacts" dans la requête SOQL imbriqué. Si vous avez besoin pour trouver
le mot-clé pour une relation personnalisée, trouver le champ lookup ou de master-detail et de regarder ici:
Astuce Pro : Si vous utilisez des relations personnalisées, ajouter « __r » pour le mot clé: « Contacts__r »
3. Vous pouvez combiner toutes les techniques de SOQL que vous avez appris dans votre requête!
SELECT Id, Name, Account.Description, CreatedBy.Name,
(SELECT Amount FROM Opportunities WHERE Amount > 100),
(SELECT Name FROM Best_Friends__r WHERE Phone != null)
FROM Contact
WHERE Account.Secret_Notes__c LIKE '%Tacos%'
AND (Sex__c = 'Male' OR Likes_Ice_Cream__c = true)
Q & A
Merci !
CONTACT
www.siway.fr
Tel Maroc : 05 22 26 99 97
contact@siway.fr

Contenu connexe

Similaire à Soql guide pour débutants

Similaire à Soql guide pour débutants (20)

Sophie Marchand Meilleures pratiques daffaires Power Query et Power Pivot
Sophie Marchand Meilleures pratiques daffaires Power Query et Power PivotSophie Marchand Meilleures pratiques daffaires Power Query et Power Pivot
Sophie Marchand Meilleures pratiques daffaires Power Query et Power Pivot
 
Meilleures pratiques daffaires avec Power Query et Power Pivot
Meilleures pratiques daffaires avec Power Query et Power PivotMeilleures pratiques daffaires avec Power Query et Power Pivot
Meilleures pratiques daffaires avec Power Query et Power Pivot
 
Trouver une entête accrocheuse pour votre profile LinkedIn
Trouver une entête accrocheuse pour votre profile LinkedInTrouver une entête accrocheuse pour votre profile LinkedIn
Trouver une entête accrocheuse pour votre profile LinkedIn
 
Faites parler vos données avec des visualisations convaincantes
Faites parler vos données avec des visualisations convaincantesFaites parler vos données avec des visualisations convaincantes
Faites parler vos données avec des visualisations convaincantes
 
EXPOSE CV.pptx
EXPOSE CV.pptxEXPOSE CV.pptx
EXPOSE CV.pptx
 
Les secrets d'un bon tableau de bord excel
Les secrets d'un bon tableau de bord excelLes secrets d'un bon tableau de bord excel
Les secrets d'un bon tableau de bord excel
 
Exemples de c.v et quelques conseils
Exemples de c.v et quelques conseils Exemples de c.v et quelques conseils
Exemples de c.v et quelques conseils
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101SkillValue Master Class NodeJS 101
SkillValue Master Class NodeJS 101
 
Microsoft business-intelligence
Microsoft business-intelligenceMicrosoft business-intelligence
Microsoft business-intelligence
 
OBJIS Congo présente 10 reperes cle du developpeur java
OBJIS Congo présente 10 reperes cle du developpeur javaOBJIS Congo présente 10 reperes cle du developpeur java
OBJIS Congo présente 10 reperes cle du developpeur java
 
Design poo togo_jug_final
Design poo togo_jug_finalDesign poo togo_jug_final
Design poo togo_jug_final
 
Design poo togo_jug_final
Design poo togo_jug_finalDesign poo togo_jug_final
Design poo togo_jug_final
 
Découvrir le VBA Excel (article invité)
Découvrir le VBA Excel (article invité)Découvrir le VBA Excel (article invité)
Découvrir le VBA Excel (article invité)
 
Altaide comment booster sa recherche d'emploi le cv 0115 lycee alembert
Altaide comment booster sa recherche d'emploi le cv 0115 lycee alembertAltaide comment booster sa recherche d'emploi le cv 0115 lycee alembert
Altaide comment booster sa recherche d'emploi le cv 0115 lycee alembert
 
Curation web cv
Curation web cvCuration web cv
Curation web cv
 
Dreamforce 19 Global Gathering
Dreamforce 19 Global GatheringDreamforce 19 Global Gathering
Dreamforce 19 Global Gathering
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
Web dev open door
Web dev   open doorWeb dev   open door
Web dev open door
 
Profiter concrètement du balisage sémantique schema.org - TuniSEO
Profiter concrètement du balisage sémantique schema.org - TuniSEOProfiter concrètement du balisage sémantique schema.org - TuniSEO
Profiter concrètement du balisage sémantique schema.org - TuniSEO
 

Soql guide pour débutants

  • 1. SOQL : Guide des débutants
  • 2. ABDELHAKIM MOUTTAQUI Chef de projets Sénior, SIWAY @adbelhakim @casasfdug @SiWay_WebAgency https://ma.linkedin.com/in/abdelhakimmouttaqui https://www.linkedin.com/company/siway http://abdelhakimmouttaqui.blogspot.com/ abdelhakim.mouttaqui@siway.fr contact@siway.fr
  • 3. SIWAY - VOTRE INTÉGRATEUR CERTIFIE SALESFORCE SOQL : GUIDE DES DÉBUTANTS Sommaire : 1. Qu’est-ce que c’est SOQL et pourquoi devrais-je l’apprendre? 2. Où écrire des requêtes SOQL 3. Exemple: Comment écrire une requête SOQL simple 4. Exemple: Comment écrire une requête SOQL cross-objet («vers le haut») 5. Exemple: Comment écrire une requête SOQL cross-objet («vers le bas»)
  • 4. SOQL : GUIDE DES DÉBUTANTS QU’EST-CE QUE C’EST SOQL ET POURQUOI DEVRAIS-JE L’APPRENDRE? SOQL est le langage officielle de requête de Salesforce. Il est basé sur SQL ! En un mot, SOQL est juste un outil qui vous permet d'accéder à n’importe quel enregistrement dans votre base de données Salesforce. Voici un exemple: SELECT Id, Name, Email, AccountId FROM Contact Dans le code ci-dessus, nous utilisons SOQL pour accéder à ces quatre champs pour chaque contact dans Salesforce!
  • 5. SOQL : GUIDE DES DÉBUTANTS QU’EST-CE QUE C’EST SOQL ET POURQUOI DEVRAIS-JE L’APPRENDRE? Voici pourquoi SOQL est significatif: 1. Vous pouvez utiliser les deux SOQL et Apex dans un déclencheur 2. SOQL vous permet de faire des actions cross-object dans votre déclencheur SOQL vous permet d'accéder aux enregistrements qui sont normalement pas disponible dans votre déclencheur. Par exemple, si vous écrivez un déclencheur sur les pistes, vous pouvez utiliser SOQL d'accéder aux données de l'utilisateur, un objet totalement indépendants! 3. La maîtrise SOQL est la clé de la maîtrise Apex Un bon développeur Salesforce empêche leur code d’atteindre ces limites en utilisant efficacement SOQL.
  • 6. SOQL : GUIDE DES DÉBUTANTS OÙ ÉCRIRE DES REQUÊTES SOQL Vous avez probablement déjà écrit SOQL, mais vous ne pourriez pas le réaliser encore! Est-ce que ceci est familier pour vous? OUI - vous pouvez écrire des requêtes SOQL dans Data Loader! Et oui, vous pouvez contourner l'interface utilisateur et il suffit de taper votre requête dans la boîte!
  • 7. SOQL : GUIDE DES DÉBUTANTS OÙ ÉCRIRE DES REQUÊTES SOQL Mais il ya encore un meilleur endroit pour écrire SOQL, et il est à la mode ces jours. Je parle de nouvel outil de Salesforce appelé Workbench. Pour commencer l'écriture de requêtes SOQL, connectez-vous simplement à Workbench (https://workbench.developerforce.com/login.php) et rendez-vous ici: Queries >> SOQL Query L'écriture de requêtes SOQL dans Workbench ou Data Loader est utile pour tester vos requêtes, mais le pouvoir réel de SOQL vient quand vous l’utilisez avec Apex, comme dans un déclencheur.
  • 8. SOQL : GUIDE DES DÉBUTANTS EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL SIMPLE SOQL est tellement fondamentale que je n'ai presque pas besoin d'expliquer ces exemples ! Ceci est votre requête de base qui tire trois champs standard et un champ personnalisé de chaque contact. SELECT Id, Name, Sex__c, BirthDate FROM Contact La clause WHERE : SELECT Id, Name, Sex__c FROM Contact WHERE DoNotCall = false L'utilisation de valeurs TEXTE, PickList, ou ID: SELECT Id, Name, Phone, Birthdate, Likes_Ice_Cream__c FROM Contact WHERE Phone != null AND Sex__c = 'Female' AND RecordTypeId != '012i0000000ES3H' Toujours entourer ces trois types de données dans des guillemets simples ! Utilisation de dates : SELECT Id, Name, Phone, Birthdate, Likes_Ice_Cream__c FROM Contact WHERE Phone != null AND BirthDate = TODAY
  • 9. SOQL : GUIDE DES DÉBUTANTS EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE HAUT») Chaque fois que vous deux objets connectés dans SALESFORCE, vous allez devoir soit accéder au données vers le HAUT ou bien vers le BAS. «Upwards traversal» est utilisée chaque fois qu'il ya un champ de l'objet de type «lookup» ou «master-detail». Ceci est parfois désigné comme allant de l'enfant au parent. Voici quelques exemples de parcours vers le haut: SELECT Id, Account.Name, Account.Industry, Account.Website FROM Contact WHERE Account.NumberOfEmployees >= 200 L'exemple ci-dessus peut vous sembler familier - si vous avez créer un WORKFLOW sur les contacts, vous seriez en mesure de référencer les champs de compte du contact en utilisant la même notation par points. SELECT Account.Owner.Profile.CreatedBy.Name FROM Contact Vous pouvez parcourir plusieurs niveaux vers le haut! SELECT Id, Best_Friend__r.Likes_Ice_Cream__c FROM Contact Ici, nous allons parcouru un champ «lookup» personnalisé «Best_Friend__c» sur l'objet de contact. Remarquez comment la «__C» se transforme en «__r» en parcourant ce domaine!
  • 10. SOQL : GUIDE DES DÉBUTANTS EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE BAS») Parcours vers le bas est quand vous récupérez des enregistrements d'une liste liée. Par exemple, si nous faisons une requête SOQL sur les comptes, le parcours vers le bas pourrait extraire des données de contacts du compte. Jetons un œil à une requête SOQL Parcours vers le bas: SELECT Id, Name, Industry, AnnualRevenue, ( SELECT Name, Email, BirthDate FROM Contacts ) FROM Account Nous avons essentiellement deux requêtes dans une instruction SOQL. Un pour récupérer les données générales de compte, et l'autre pour récupérer la liste de contacts liés.
  • 11. SOQL : GUIDE DES DÉBUTANTS EXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE BAS») Ne pas oublier ces trois choses lorsque vous utilisez le Parcours vers le bas : 1. La requête imbriquée est traitée comme un autre champ. Voilà pourquoi il y a une virgule après le champ de AnnualRevenue. 2. Nous utilisons la version pluriel "Contacts" dans la requête SOQL imbriqué. Si vous avez besoin pour trouver le mot-clé pour une relation personnalisée, trouver le champ lookup ou de master-detail et de regarder ici: Astuce Pro : Si vous utilisez des relations personnalisées, ajouter « __r » pour le mot clé: « Contacts__r » 3. Vous pouvez combiner toutes les techniques de SOQL que vous avez appris dans votre requête! SELECT Id, Name, Account.Description, CreatedBy.Name, (SELECT Amount FROM Opportunities WHERE Amount > 100), (SELECT Name FROM Best_Friends__r WHERE Phone != null) FROM Contact WHERE Account.Secret_Notes__c LIKE '%Tacos%' AND (Sex__c = 'Male' OR Likes_Ice_Cream__c = true)
  • 12. Q & A
  • 14. CONTACT www.siway.fr Tel Maroc : 05 22 26 99 97 contact@siway.fr