Pourquoi j’apprends le langage SQL?

Pourquoi j’apprends le langage SQL?

Temps de lecture : 4 min

Sur les fiches de poste de growth hacker ou trafic manager, on voit souvent affiché qu’il faut avoir des notions de HTML/CSS et JavaScript. Mais très rarement de connaître le langage SQL. C’est plutôt demandé pour un poste de Data Analyst car c’est lui ou elle qui a la responsabilité de manipuler des bases de données relationnelles.

Alors pourquoi moi qui travaille en marketing, j’ai décidé d’apprendre le SQL ?

Lorsque j’évoluais dans ma première startup, nous n’avions tout simplement pas de data analyst. C’était notre lead dev qui me donnait des requêtes que je copiais et collais dans la console de MySQL afin que je puisse faire mes rapports hebdomadaires. J’avais par curiosité suivi un cours de SQL sur Udemy, mais je n’avais ni le niveau pour faire des requêtes complexes, ni pour comprendre la structure de notre base de donnée.

Dans mon entreprise actuelle, nous avons un data analyst, mais comme il est seul pour gérer toute la data de la boîte, il est souvent débordé. Or, j’ai besoin d’avancer plus rapidement et d’évaluer les résultats de nos actions d’acquisition. J’ai donc décidé d’apprendre le SQL pour être indépendante et gérer mes besoins sans lui ajouter une charge de travail.

Apprendre SQL me permet d’extraire les informations dont j’ai besoin pour comprendre le présent, d’identifier des leviers de croissance et d’analyser l’impact de mes actions sur la performance de ma stratégie d’acquisition. Créer et manipuler des requêtes me permet aussi de créer des rapports pour le reste de mon équipe. Nous utilisions PowerBI pour créer nos rappors; mais nous changeons actuellement pour Looker.

L’avantage de SQL est que c’est un langage accessible et intuitif. Même quelqu’un qui n’a pas appris le SQL peut réussir à lire une requête simple. Mais je souhaite désormais comprendre et rédiger des requêtes plus complexes.

Lexique pour démarrer

  • Base de donnée (Database) : une base de données est une collection organisée de données.
  • Requête (Query) : les requêtes sont le principal moyen d’obtenir des informations d’une base de données et consistent en des questions présentées à la base de données dans un format prédéfini.
  • Console : la console est l’endroit où vous insérez votre code SQL.
  • Tableau : une tableau est un ensemble de données connexes dans un format structuré conservées dans une base de données.
  • Colonne : une colonne est un ensemble de valeurs de données, une pour chaque ligne du tableau. Les colonnes fournissent la structure selon la façon dont les lignes sont composées.
  • Ligne : une ligne d’un tableau représente un ensemble de données connexes, et chaque ligne du tableau a la même structure.
  • MySQL et PostgreSQL : deux systèmes de gestion de base de données relationnelle.

Petites leçons de SQL

Le but de ce paragraphe n’est pas de rédiger un cours sur le SQL. Mais plutôt de vous aider à comprendre la rédaction de requêtes SQL et de vous donner envie d’aller plus loin.

Toutes vos requêtes SQL contiendront obligatoirement SELECT et FROM. SELECT indique les éléments que vous souhaitez extraire de la base données et FROM indique dans quels tableaux se trouvent ces éléments. Si vous utilisez * après SELECT cela veut dire que vous souhaitez extraire tous les éléments du ou des tableaux sélectionnés dans FROM.

Certaines de vos requêtes contiendront le mot clé WHERE ; WHERE permet de filtrer avec des conditions ce que vous souhaitez afficher.

SELECT *
FROM "Users"
WHERE "created_at" > '2020-08-01'
AND "created_at" < '2020-08-31';

Si je traduis la requête ci-dessus, le résultat me donnera : je sélectionne toutes les informations de mes utilisateurs qui ont crée un compte du 1er au 31 août.

Je peux aussi ajouter des opérations mathématiques à mes requêtes avec des mots clés comme COUNT, SUM, AVG…

SELECT count(*), AVG(profit)
FROM "Users"
WHERE "created_at" > '2020-08-01'
AND "created_at" < '2020-08-31';

Ici, je souhaite récupérer le nombre total d’utilisateurs qui ont crée un compte en août et la moyenne du profit réalisé.

AS, GROUP BY and ORDER BY sont aussi des mots-clés que j’utilise souvent. AS est très pratique, il permet de renommer un champ. Si par exemple, le champ est en anglais et que vous souhaitez donner à votre résultat des noms en français, utilisez AS suivi du nouveau nom de champs entre guillemets. GROUP BY permet de grouper des champs et ORDER BY permet d’ordonner les champs groupés.

SELECT users.name AS "Nom Utilisateur",
FROM "Users"
WHERE "created_at" > '2020-08-01'
AND "created_at" < '2020-08-31'
GROUP BY country
ORDER BY country desc;

Enfin le JOIN est sûrement le mot clé le plus important après SELECT et FORM. Il permet de joindre des tableaux. Les mots clés JOIN, INNER JOIN, LEFT JOIN ont chacun un usage différent. Mais comme je ne compte pas ici rédiger un cours sur SQL, je vais seulement donner un exemple du JOIN.

SELECT "Eshop"."product" as "Produit de la boutique", "Users"."username" as "Nom d'utilisateur"
FROM "Eshop"
JOIN "Users"
ON "Eshop"."id" = "Users"."id"

Cette requête permet de récupérer les produits qu’un utilisateur a acheté. Il va récupérer des informations de deux tableaux différents « Eshop » et « Users ». Et afin de connecter les utilisateurs au produit qu’ils ont acheté on va identifier un élément qui permettra de lier les tableaux. On recherche un élément qui est commun aux deux tableaux afin de les lier.

Les requêtes avec des JOIN, INNER JOIN, LEFT JOIN peuvent rapidement devenir plus compliquées notamment si on ajoute des tableaux supplémentaires à lier ou que l’on souhaite lier deux tableaux qui n’ont pas d’élément en commun, on essaiera alors d’inclure un troisième tableau pour faire la jointure.

Je m’arrête ici, car encore une fois, le but de cet article n’est pas de rédiger un cours sur le SQL. Je suis moi-même seulement au milieu du cours de DataCamp. Mais d’apporter une introduction à SQL et ses possibles utilisations en marketing.

Pour aller plus loin et apprendre le SQL

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.