Retour à la liste des articles Articles
9 minutes de lecture

Qu'est-ce que SQL?

Vous entendez peut-être parler du langage SQL par vos collègues. Il se peut aussi que vous le voyiez dans la description du poste de vos rêves ou que vous le remarquiez dans une liste des langages de programmation les plus populaires. Qu'est-ce que le langage SQL ? Devriez-vous l'apprendre ? Nous allons le découvrir.

Vous envisagez une carrière dans l'analyse et la science des données ? Avez-vous besoin d'interagir avec des bases de données relationnelles dans le cadre de votre travail ? Souhaitez-vous améliorer vos performances en tant que spécialiste du marketing, des ressources humaines ou de la recherche en prenant des décisions plus éclairées ? Si la réponse à l'une de ces questions est oui, il y a de fortes chances que vous ayez tout intérêt à connaître SQL.

Commencez à apprendre dès aujourd'hui avec le cours SQL pour les débutants. Il comprend 129 exercices interactifs couvrant toutes les bases de l'extraction d'informations d'une base de données. Toutefois, si vous n'êtes pas encore convaincu de l'utilité du langage SQL, voyons ce que c'est et où il est utilisé.

Introduction au langage SQL

SQL, ou Structured Query Language, est un langage de programmation utilisé pour communiquer avec les bases de données. Avec SQL, vous pouvez stocker, manipuler et récupérer des données dans des bases de données relationnelles.

Vous vous demandez peut-être ce que sont ces bases de données relationnelles. Sont-elles courantes ?

Dans les bases de données relationnelles, les données sont organisées sous la forme d'un ensemble de tables avec des colonnes et des lignes. Ces éléments de données ont des relations prédéfinies entre eux dans les différentes tables d'une base de données. Il s'agit d'une manière très courante de stocker des informations, que ce soit pour une petite librairie ou pour Amazon.

Par exemple, supposons que vous ayez une table livres. Dans cette table, les livres sont stockés sous forme de lignes et les colonnes représentent les caractéristiques de chaque livre, tels que son numéro d'identification, son titre, son auteur, son prix, etc.

Vous pouvez également disposer d'une table ventes qui contient les numéros d'identification des commandes, les dates et les montants des ventes. Mais elle peut aussi inclure les numéros d'identification des livres commandés, le numéro d'identification du vendeur et le numéro d'identification de la librairie correspondante. Ces numéros d'identification font référence à d'autres tables de la base de données, telles que livres, vendeurs, et magasins. Cela signifie que chaque information n'est stockée qu'une seule fois dans la base de données et n'est pas dupliquée dans toutes les tables susceptibles d'en avoir besoin. C'est pourquoi les bases de données relationnelles sont très efficaces et, par conséquent, très populaires dans divers secteurs d'activité.

Toutefois, pour que les données soient utiles, il ne suffit pas de les stocker efficacement. Vous devez être en mesure de les récupérer efficacement. C'est là que le langage SQL entre en jeu.

SQL est un langage standard qui vous permet de combiner des informations provenant de plusieurs tables sur la base de relations prédéfinies, d'analyser ces informations et de rendre compte des résultats. Mais les capacités de SQL vont bien au-delà de la simple récupération d'informations ; il vous aide également à créer des bases de données et à les tenir à jour. Compte tenu de la popularité des bases de données relationnelles et de l'importance du langage SQL pour communiquer avec ces bases de données, tout professionnel des données doit connaître le langage SQL.

Brève histoire du langage SQL

Malgré la popularité du langage, il n'y a toujours pas d'accord sur la façon de prononcer son nom en anglais : S.Q.L. ("ess-cue-ell") ou "sequel". Cette question fait l'objet de nombreux débats sur Internet, et si "sequel" recueille généralement le plus grand nombre de voix, Donald D. Chamberlin, co-développeur de SQL, et de nombreux autres gourous de SQL préfèrent "ess-cue-ell".

La prononciation "sequel" s'explique par l'histoire du langage SQL. L'idée de la base de données relationnelle a été introduite en 1970 par Edgar Frank (Ted) Codd, un informaticien anglais d'IBM. Il a également proposé deux langages différents pour son modèle de données relationnelles. Ces deux langages étaient tout sauf conviviaux pour les débutants - ils utilisaient des notations mathématiques avec des quantificateurs et des opérateurs mathématiques.

L'idée du modèle de données relationnel a attiré l'attention de Donald D. Chamberlin et de Raymond F. Boyce, les collègues californiens de Codd. Cependant, ils se sont rendu compte que les langages proposés pour interagir avec les bases de données relationnelles étaient trop difficiles pour être adoptés par le plus grand nombre.

Dans le but de concevoir un langage d'interrogation facile à apprendre, ils ont introduit le Structured English Query Language (langage d'interrogation structuré en anglais) en 1974. Ce langage était basé sur des structures anglaises et utilisait l'acronyme SEQUEL. Malheureusement, ils ont dû changer le nom pour éviter les violations de marque, et le nouveau nom est devenu Structured Query Language (langage d'interrogation structuré), abrégé en SQL. Après presque 40 ans, nombreux sont ceux qui préfèrent toujours le prononcer "sequel".

SQL est devenu une norme de l'American National Standards Institute (ANSI) en 1986 et de l'Organisation internationale de normalisation (ISO) en 1987. Bien qu'aucune base de données n'implémente complètement la norme, la plupart en sont très proches. Il existe de nombreuses versions du langage SQL utilisées avec différents systèmes de gestion de bases de données relationnelles (SGBDR) ; les plus populaires sont Oracle, MySQL, Microsoft SQL Server, PostgreSQL et SQLite.

Applications du langage SQL

Le langage SQL a été conçu pour communiquer avec les bases de données relationnelles. Aujourd'hui, de nombreuses technologies différentes utilisent SQL pour accéder aux données :

  • Les technologies de traitement de données distribuées, telles qu'Apache Spark, Apache Flink et Apache Beam, proposent toutes SQL comme interface de programmation.
  • Les moteurs de recherche en texte intégral, tels qu'Apache Solr et Elasticsearch, prennent en charge SQL en tant que langage de requête.
  • Vous pouvez également utiliser le langage SQL dans les applications de feuilles de calcul courantes, notamment Microsoft Excel, Numbers et Google Sheets. Pour certaines applications, cette fonctionnalité est intégrée ; pour d'autres, vous aurez peut-être besoin de modules complémentaires externes.
  • De nombreuses applications pour smartphones utilisent SQLite, une base de données relationnelle légère intégrée, pour stocker des données sur votre téléphone, telles que vos paramètres et les données de votre compte.

Il est courant que les technologies de données émergentes ajoutent la prise en charge de SQL lorsqu'elles atteignent un certain niveau de maturité. Cet article présente d'autres exemples d'applications SQL.

Avec SQL, vous pouvez :

  • Extraire des enregistrements d'une base de données. Vous pouvez même combiner des informations provenant de différentes tables et ajouter des conditions de filtrage multiples et complexes.
  • Effectuer des calculs sur les enregistrements d'une base de données. Par exemple, vous pouvez regrouper des enregistrements et calculer la somme/moyenne/minimum/maximum pour les caractéristiques qui vous intéressent.
  • Insérer, supprimer et modifier des données dans une base de données.
  • Préparer des rapports basés sur les informations stockées dans une base de données.

Comme vous le voyez, le langage SQL est omniprésent. C'est aussi un outil très puissant pour interagir avec les bases de données et analyser les données.

Est-il difficile à maîtriser ? Non ! Il est très facile à utiliser pour les débutants. Je vais vous montrer quelques exemples ci-dessous.

Exemples SQL

La syntaxe SQL est basée sur la langue anglaise. Vous pouvez donc lire les commandes SQL comme des phrases anglaises ordinaires.

Les commandes SQL standard sont les suivantes :

  • SELECT pour extraire des données d'une base de données.
  • INSERT pour ajouter de nouveaux enregistrements dans une base de données.
  • UPDATE pour modifier des enregistrements dans une base de données.
  • DELETE pour supprimer des données d'une base de données.

Les débutants commencent généralement par extraire des données d'une base de données. Voyons donc quelques exemples de commandes SELECT.

Imaginons que nous gérions une petite librairie. La table suivante contient des informations sur les livres que nous vendons.

livres
idtitreauteuranneeprixen_stock
11À la recherche du temps perduMarcel Proust200414.993
12UlysseJames Joyce202235.4910
13Don QuichotteMiguel de Cervantes200322.992
14Cent ans de solitudeGabriel Garcia Marquez200611.002
15Gatsby le magnifiqueF. Scott Fitzgerald20216.495
16Moby DickHerman Melville202110.495
17Guerre and paixLéon Tolstoï200815.992
18HamletWilliam Shakespeare20036.291
19L'OdysséeHomère199710.991
20Madame BovaryGustave Flaubert200212.991

Supposons que nous souhaitions obtenir des informations sur tous les livres publiés avant 2010. Nous voulons voir les titres des livres, les auteurs et les années de publication. Voici la requête SQL permettant d'obtenir ces données :

SELECT titre, auteur, annee
FROM livres
WHERE annee < 2010;

Vous demandez titre, l'auteur et l'année à la table livres pour les enregistrements dont l'année de publication est antérieure à 2010. Voici le résultat de cette requête :

titreauteurannee
À la recherche du temps perduMarcel Proust2004
Don QuichotteMiguel de Cervantes2003
Cent ans de solitudeGabriel Garcia Marquez2006
Guerre et paixLéon Tolstoï2008
HamletWilliam Shakespeare2003
L'OdysséeHomère1997
Madame BovaryGustave Flaubert2002

Vous avez probablement compris cette requête même si vous n'avez pas été exposé au langage SQL. C'est cette syntaxe simple qui rend SQL si attrayant pour les nouveaux professionnels des données.

Pouvez-vous écrire la requête suivante vous-même ? Supposons que nous voulions connaître titre, auteur, prix, et le nombre de livres en_stock pour tous les livres dont l'auteur est Marcel Proust.

Voici la requête permettant d'obtenir ces informations :

SELECT titre, auteur, prix, en_stock
FROM livres
WHERE auteur = 'Marcel Proust';
titreauteurprixen_stock
À la recherche du temps perduMarcel Proust14.993

Comme vous le voyez, c'est assez simple. Toutefois, si vous êtes novice en SQL et dans d'autres langages de programmation, vous n'avez peut-être pas remarqué les guillemets entourant le nom "Marcel Proust" dans la condition de filtrage. Vous apprendrez rapidement que les chaînes de caractères sont placées entre guillemets en SQL.

Apprenez cette particularité et d'autres nuances syntaxiques grâce à notre feuille d'aide SQL pour les débutants constituée de 2 pages. Elle montre à l'aide d'exemples comment écrire différentes clauses et conditions de filtrage en SQL.

Il est temps d'apprendre le langage SQL !

Bien que ces exemples soient basiques, ils montrent à quel point le langage SQL est facile à comprendre et à apprendre, même si vous n'avez aucune expérience en informatique. Cela dit, lorsqu'il s'agit de langages de programmation, il ne suffit pas de lire des articles et de regarder des tutoriels vidéo. Le moyen le plus rapide d'apprendre un nouveau langage de programmation est la pratique. Les cours interactifs en ligne offrent aux nouveaux venus la meilleure occasion d'apprendre et de pratiquer en même temps.

Comme je l'ai mentionné, je recommande le cours SQL pour les débutants pour ceux qui commencent à apprendre SQL. Après avoir suivi ce cours, vous saurez comment combiner des informations provenant de plusieurs tables, comment définir des conditions de filtrage complexes, comment créer des rapports simples en utilisant des fonctions d'agrégation, et bien plus encore. Obtenez plus d'informations sur ce cours, et lisez cette évaluation complète de l'un des étudiants du cours SQL pour les débutants.

Si vous êtes prêt à aller au-delà des connaissances de base, consultez le cours Le SQL de A à Z. Avec sept cours interactifs, il offre une excellente opportunité de devenir un maître du langage SQL en un rien de temps.

Merci de votre lecture et bon apprentissage !