Retour à la liste des articles Articles
7 minutes de lecture

Une introduction non technique à l'apprentissage de SQL pendant votre pause déjeuner

Pensez-vous qu'apprendre SQL vous aidera dans votre carrière ? Vous avez raison.

SQL est l'un des langages informatiques les plus faciles à apprendre. De nos jours, de nombreux employés non informaticiens possèdent des compétences en SQL et les utilisent pour étendre leurs capacités professionnelles. En outre, de plus en plus d'entreprises encouragent leurs employés travaillant dans des domaines autres que l'informatique (comme la vente, la publicité et les finances) à apprendre et à utiliser le langage SQL. L'un des avantages de l'acquisition de compétences SQL par les employés est qu'une fois que vous avez répondu à une question sur les données, les résultats vont générer une nouvelle question sur les données, et peut-être une cascade d'autres questions sur les données. Un employé non informaticien capable de répondre à des questions sur les données de l'entreprise à l'aide du langage SQL va accroître ses connaissances sur l'entreprise et sur la productivité. Optez pour le SQL - soyez un contributeur solide au sein de votre entreprise !

SQL est facile : essayons une requête de base

Savez-vous pourquoi SQL est un langage facile à apprendre ? Parce qu'il est très proche du langage naturel, et plus précisément de l'anglais. La plupart des autres langages informatiques nécessitent des techniques de programmation complexes, alors que le langage SQL utilise des commandes relativement simples. En SQL, il suffit de décrire les données que l'on souhaite obtenir. C'est simple !

SQL nécessite cependant une base de données dans laquelle les données sont organisées et stockées, et vous devez en savoir un peu plus sur la base de données, même si vous ne connaissez que la partie de la base de données qui vous intéresse. Voyons un exemple simple de base de données. Supposons que nous travaillions pour une entreprise qui envisage de créer des succursales dans de nouveaux pays et de nouvelles villes. Nous avons besoin d'une base de données contenant tous les pays et toutes les villes du monde afin de déterminer quels sont les meilleurs candidats pour la création de nouvelles succursales. Pour créer une nouvelle succursale, la capitale doit avoir une population supérieure à 4 millions d'habitants.

Dans une base de données, les données de même type sont regroupées dans des tables. Dans notre exemple de base de données, nous avons deux tables : pays et villes. Dans l'image suivante, vous pouvez voir la base de données, mais toutes les données ne sont pas affichées.

Exemple de table pays

nomcontinentjour_independancelangue_officielle
États-unisAmériques1796-07-04anglais
FranceEurope1789-07-14français
ArgentineAmériques1816-07-09espagnol
BrésilAmériques1822-09-07portugais

Exemple de table villes

nompopulationpaysest_capitale
Washington4543109États-unisoui
New York8765998États-unisNO
Paris12876371Franceoui
Buenos Aires3853728Argentineoui
Rio do Janeiro5873422BrésilNO

Nous pouvons traiter chaque requête comme un cas d'entreprise, où le point de départ est une question commerciale à laquelle il faut répondre en utilisant les données de la base. L'outil permettant d'extraire la réponse de la base de données est une requête SQL. Pour chaque question commerciale différente, vous devez créer une requête SQL différente.

Question commerciale :

Quelles sont les capitales du monde dont la population est supérieure à 4 000 000 d'habitants ?

Vous trouverez ci-dessous la requête SQL permettant de répondre à cette question.

SELECT	nom
FROM		villes
WHERE	est_capitale = 'oui'
AND	population > 4000000

Comme nous pouvons le voir, cette requête est très simple et, si vous la lisez, elle ressemble à une phrase en anglais décrivant exactement les données que nous recherchons.

Sur la base des données présentées précédemment, le résultat de cette requête sera le suivant :

nom
Washington
Paris

Une stratégie pour écrire des requêtes SQL simples

D'après mon expérience personnelle, après quelques années de travail avec SQL, la meilleure façon d'apprendre à créer vos premières requêtes en SQL est de suivre un processus mental en trois questions. Je vais essayer d'expliquer le processus mental par lequel je passe lorsque je crée une requête SQL. Comme nous l'avons mentionné précédemment, notre point de départ est une question commerciale.

Question professionnelle :

Quels sont tous les noms de pays où l'anglais est la langue officielle ?

Le processus de résolution de cette question est le suivant :

Première étape : Posez-vous la question suivante : est-ce que je dispose d'une table contenant toutes les données nécessaires pour répondre à cette question ?

Si oui, quelle est cette table ? Le nom de la table doit être indiqué dans la clause FROM. Le résultat de cette étape est donc : FROM pays. Félicitations, vous avez déjà la clause FROM de la requête !

Leçon apprise : toute requête SQL doit comporter une clause FROM suivie de la table dont les données sont extraites.

Deuxième étape : Une fois que vous avez identifié la table avec laquelle travailler, vous devez réfléchir à la clause WHERE. Posez-vous la question suivante : quels sont les enregistrements (lignes) de la table dont j'ai besoin ? Qu'ont-ils en commun ? Comment puis-je définir une condition (telle que est_capitale = 'oui') pour ces enregistrements ? Pour notre question particulière, la condition est : WHERE langue_officielle = 'anglais'.

Leçon apprise : dans une requête SQL, la clause WHERE est utilisée pour isoler les enregistrements recherchés. La clause WHERE doit être assortie d'une condition, comme langue_officielle = 'anglais'. Les autres conditions peuvent être plus complexes.

Troisième étape : Quelles sont les données que je recherche - le nom de la ville, la population, ou peut-être les deux ? Tous ces éléments de données doivent figurer dans la liste de l'instruction SELECT. Dans notre exemple, il s'agira de SELECT nom, car nous ne recherchons que le nom du pays.

Leçon apprise : toute requête SQL doit comporter une clause SELECT suivie de toutes les colonnes que vous souhaitez extraire de la table.

Ensuite, une fois que nous avons les trois éléments de notre requête, nous devons les assembler. Les éléments que nous avons obtenus DOIVENT être dans l'ordre suivant :

SELECT nom
FROM pays
WHERE langue_officielle = 'anglais'

Créons deux requêtes supplémentaires

Si vous avez terminé la section précédente, vous connaissez déjà les bases d'une requête SQL. Continuons en créant une paire de requêtes avec un niveau de complexité supplémentaire.

La première requête implique une clause WHERE plus complexe. Supposons que votre patron souhaite obtenir une liste des villes où votre entreprise pourrait ouvrir de nouvelles succursales. Vous ne voulez prendre en considération que les villes des États-Unis dont la population est supérieure à 1 000 000 d'habitants. La liste doit exclure New York et Washington, D.C., car votre entreprise possède déjà des succursales dans ces villes.

Question commerciale :

Quels sont les noms des villes des États-Unis dont la population est supérieure à 1 000 000 d'habitants ?

En suivant la technique que nous avons apprise dans la section précédente, les première et troisième étapes sont très faciles à réaliser. Les résultats de ces étapes sont présentés ci-dessous :

Première étape : Cette étape est très facile et aboutit à l'énoncé suivant : FROM villes

Deuxième étape : Pour cette question commerciale, il s'agit de l'étape la plus complexe à résoudre. Voyons comment la résoudre. Pour cette requête, nous devons utiliser un opérateur logique appelé AND. Vous vous souvenez peut-être du AND appris à l'école. Nous voulons trouver les villes qui remplissent les trois conditions suivantes :

  • pays = 'États-unis'
  • population > 1000000
  • nom NOT IN ('New York', 'Washington')

Ensuite, si nous relions toutes ces conditions à l'aide de AND, nous obtenons le résultat suivant :

WHERE pays = 'États-unis' AND population > 1000000 AND nom NOT IN ('New York', 'Washington')

Troisième étape : Cette étape est également très simple : SELECT nom

Ensuite, en rassemblant tous les éléments, la requête complète sera :

SELECT nom
FROM villes
WHERE pays = 'États-unis' AND population > 1000000 AND nom NOT IN ('New York', 'Washington')

L'exemple final de requête sera présenté de manière plus concise. L'interprétation peut être lue dans le code SQL lui-même.

Question commerciale :

Quels sont les noms de tous les pays hispanophones des Amériques qui ont été fondés au 17e siècle ?

SELECT nom, jour_independance
FROM pays
WHERE continent = 'Amériques'
AND jour_independance BETWEEN '1700-01-01' AND '1800-12-31'
AND langue_officielle = 'espagnol'

Prochaines étapes

Les premiers pas avec SQL sont très faciles - vous pouvez exécuter votre première requête en quelques heures ou même en quelques minutes. Si vous souhaitez apprendre à créer des requêtes SQL, LearnSQL.fr aide depuis longtemps les non-informaticiens à apprendre SQL.