Retour à la liste des articles Articles
8 minutes de lecture

Qu'est-ce qu'une requête SQL ?

Une requête SQL est la commande SQL la plus élémentaire. Il s'agit d'une question que vous posez à une base de données. Dans cet article, nous allons nous plonger dans les connaissances de base des requêtes SQL pour vous permettre de démarrer votre voyage dans SQL avec des connaissances pratiques dès maintenant !

SQL, ou Structured Query Language, est un langage de programmation conçu pour interagir avec les bases de données. Lorsque vous souhaitez accéder aux données d'une base de données, que ce soit pour modifier, supprimer, ajouter ou simplement extraire des informations, vous utilisez SQL.

SQL peut travailler et interagir avec de grandes quantités de données. Sa syntaxe est simple et directe. Si vous souhaitez en savoir plus sur le langage SQL, son histoire et ses principes de base, lisez notre article qui répond précisément à cette question : "Qu'est-ce que SQL ?"

Pour ceux qui souhaitent apprendre SQL par la pratique, nous recommandons notre cours SQL pour les débutants que vous pouvez commencer dès la lecture de cet article. Ce cours entièrement interactif contient les bases essentielles du langage SQL en 129 exercices !

Requête SQL : Une question à la base de données

Une requête SQL est une commande utilisée pour extraire des données d'une base de données. C'est un instrument flexible qui permet d'accéder aux données nécessaires.

Une requête SQL est essentiellement une question qu'un utilisateur pose à une base de données. Les questions peuvent varier en complexité, de "quels sont les modèles de voitures vendus ?" à "combien de voitures Volvo sont vendues en moyenne à l'entreprise de M. Dupont chaque année ?".

Dans cet article, nous examinerons quelques exemples plus simples de requêtes SQL, c'est-à-dire des questions plus simples que vous pouvez poser à une base de données. Avant d'aller plus loin, notre guide du débutant sur les termes SQL peut s'avérer très utile pour comprendre certains éléments à venir !

Tables dans les bases de données SQL

Les bases de données SQL stockent les informations dans des tables. Chaque table porte un nom qui nous indique généralement le type d'informations qu'elle stocke : une table nommée etudiants stocke probablement des informations sur les étudiants, une table nommée cours stocke probablement des informations sur les cours, etc.

Chaque table se compose de colonnes et de lignes. Les colonnes constituent la structure d'une table. Chaque colonne porte un nom qui nous indique les informations qu'elle stocke. Elle possède également un type de données qui nous indique si les informations contenues dans la colonne sont du texte, un nombre, une date et une heure, etc. Les lignes contiennent les données elles-mêmes, définies par les colonnes.

Prenons un exemple : la table etudiants. Elle contient des informations sur les étudiants d'une université. Elle comporte 5 colonnes. Voici la signification de chaque colonne :

  • id - l'identifiant unique de l'étudiant.
  • nom - le nom et le prénom de l'étudiant.
  • departement - le département de l'université auquel appartient l'étudiant.
  • note_moyenne - la note moyenne de l'étudiant (de 1 à 5).
  • annee_en_cours - l'année en cours de l'étudiant.

Les colonnes nom et departement stockent des chaînes de caractères, id et annee_en_cours sont des nombres entiers et note_moyenne est un nombre à virgule flottante :

idnomdepartementnote_moyenneannee_en_cours
1Tracy CarpenterInformatique4.41
2Kornelia HoldingInformatique3.671
3Will ParkerGestion informatique4.053
4Daria HendersonGestion informatique4.74
5James MartinsHistoire du monde2.84
6Kim YuArts des nouveaux médias3.963

Exemples de questions à poser

Réfléchissons à quelques exemples de questions/requêtes que nous pourrions poser à cette table :

  • Qui sont les étudiants qui étudient à l'université ?
  • Quels sont les noms des étudiants qui étudient à l'université ?
  • Quels sont les noms des étudiants qui ont une note moyenne d'au moins 4 ?
  • Quels sont les étudiants qui sont en première année dans le département d'informatique ?
  • Et ainsi de suite.

Le nombre de requêtes possibles avec cette seule table est pratiquement infini. Elles partagent toutes une structure commune :

SELECT …
FROM etudiants
…

Comme vous le voyez, nous utilisons le nom de notre table, etudiants dans une requête avec le mot-clé FROM.

Comment écrire une requête SQL ?

Dans cet article, nous nous concentrons sur les parties les plus élémentaires de toute requête SQL : SELECT, FROM, et WHERE. Obtenons des données de la table etudiants en utilisant ces mots-clés.

Exemple de requête SQL 1 : Extraire toutes les informations d'une table (en utilisant SELECT * dans les requêtes)

SELECT *
FROM etudiants;

Il s'agit du type de requête le plus basique. Elle sélectionne toutes les colonnes (en utilisant le symbole * après SELECT) et toutes les lignes (sans filtre) de la table. En langage naturel, cette requête demande "Donnez-moi toutes les informations sur tous les étudiants".

Voici à quoi ressemble le résultat :

idnomdepartementnote_moyenneannee_en_cours
1Tracy CarpenterInformatique4.41
2Kornelia HoldingInformatique3.671
3Will ParkerGestion informatique4.053
4Daria HendersonGestion informatique4.74
5James MartinsHistoire du monde2.84
6Kim YuArts des nouveaux médias3.963

Comme vous le voyez, il s'agit d'une table entière que nous avons vu précédemment. Voyons un autre exemple.

Exemple de requête SQL 2 : Extraire les noms des étudiants, leur département et leur année en cours (en sélectionnant des colonnes spécifiques)

SELECT nom, departement, annee_en_cours
FROM etudiants;

Cette requête est un peu plus complexe. Elle sélectionne toutes les lignes (encore une fois, sans filtre) mais pas toutes les colonnes - seulement le nom, le département et l'année en cours. La requête dit : "donnez-moi les noms des étudiants, leur département et leur année".

Voici à quoi ressemble le résultat :

nomdepartementannee_en_cours
Tracy CarpenterInformatique1
Kornelia HoldingInformatique1
Will ParkerGestion informatique3
Daria HendersonGestion informatique4
James MartinsHistoire du monde4
Kim YuArts des nouveaux médias3

Il s'agit de la même table que précédemment, mais avec moins de colonnes. Examinons un exemple encore plus avancé.

Exemple de requête SQL 3 : Extraire les noms des étudiants en gestion informatique (filtrage des requêtes à l'aide de WHERE)

SELECT nom
FROM etudiants
WHERE departement = 'Gestion informatique';

Cette requête ne sélectionne pas seulement une colonne, nom, mais ajoute également un filtre pour les lignes. Elle ne sélectionne que les lignes dont la valeur departement est égale à 'Gestion informatique'. Cette requête demande : "Donnez-moi les noms des étudiants qui étudient dans le département de gestion informatique." Voici le résultat :

nom
Will Parker
Daria Henderson

Exemple de requête SQL 4 : Extraire les identifiants et les noms des étudiants de quatrième année en gestion informatique (filtres mutiples dans les requêtes en utilisant AND)

Il arrive souvent que vous souhaitiez inclure plusieurs conditions de filtrage. Pas de problème ! Ajoutez autant de conditions que vous le souhaitez en utilisant les mots-clés AND et OR. Si vous avez deux conditions liées par le mot-clé AND, la requête recherche les lignes qui remplissent les deux conditions. Si elles le sont avec OR, la requête recherche les lignes qui remplissent l'une ou l'autre condition.

Voyons un exemple :

SELECT id, nom
FROM etudiants
WHERE departement = 'Gestion informatique'
AND annee_en_cours = 4;

La requête demande : "Donnez-moi les identifiants et les noms des étudiants en gestion informatique qui sont en quatrième année." Voici le résultat :

idnom
4Daria Henderson

Et maintenant, voici un exemple de conditions de filtrage avec OR.

Exemple de requête SQL 5 : Extraire les noms et les départements des étudiants en gestion informatique ou en histoire du monde (filtres multiples dans les requêtes en utilisant OR)

SELECT nom, departement
FROM etudiants
WHERE departement = 'Gestion informatique'
OR departement = 'Histoire du monde';

Cette requête demande : "Donnez-moi les noms et les départements des étudiants qui sont soit en gestion informatique, soit en histoire du monde." Voici à quoi ressemble le résultat :

nomdepartement
Will ParkerGestion informatique
Daria HendersonGestion informatique
James MartinsHistoire du monde

Requêtes SQL : Structure générale

Résumons et examinons la structure générale d'une requête SQL. La structure générale d'une requête SQL est la suivante :

SELECT …
FROM …
WHERE …
GROUP BY …
HAVING …
ORDER BY …;

De tous ces mots-clés, seuls deux sont obligatoires : SELECT et FROM - ceux que vous connaissez déjà. Passons maintenant en revue chaque mot-clé :

  • SELECT est suivi des colonnes que vous souhaitez obtenir de la table (par exemple, SELECT nom, departement, annee_en_cours) ou du symbole * pour sélectionner toutes les colonnes.
  • FROM est suivi du nom de la table dont vous souhaitez obtenir des informations.
  • WHERE est suivi d'une ou plusieurs conditions de filtrage des données (par exemple, WHERE annee_en_cours = 1).
  • GROUP BY est suivi d'une ou plusieurs colonnes par lesquelles vous souhaitez regrouper les données (par exemple, GROUP BY departement regroupe les étudiants en fonction de leur département).
  • HAVING est suivi d'une condition qui filtre les groupes de données. Ce mot-clé est toujours utilisé avec GROUP BY.
  • ORDER BY est suivi d'une ou plusieurs colonnes par lesquelles vous souhaitez trier les données.

Apprenez tout sur les requêtes SQL avec notre cours "SQL pour les débutants" !

Vous pouvez en faire beaucoup dans les requêtes que ce que nous avons couvert dans cet article, comme grouper des données avec GROUP BY, trier des résultats avec ORDER BY, et même interroger plusieurs tables à la fois en utilisant diverses clauses JOIN ! Notre cours interactif SQL pour les débutants vous fournit la théorie et la pratique sur tous ces sujets et bien plus encore, d'une manière amusante et interactive. Je vous invite à l'essayer !