Accéder au contenu principal

Glossaire des commandes SQL - Aperçu des 25 commandes SQL les plus populaires

Apprenez les bases des 25 commandes SQL les plus populaires et comment les utiliser.
Actualisé 16 janv. 2025  · 8 min de lecture

Qu'est-ce que SQL ?

SQL, également connu sous le nom de Structured Query Language (langage de requête structuré), est un outil puissant permettant de rechercher de grandes quantités de données dans les bases de données et de renvoyer des informations spécifiques à des fins d'analyse. Apprendre SQL est un enjeu de tableau pour tous ceux qui cherchent à percer dans les données, qu'il s'agisse de rôles d'analystes d'affaires, d'analystes de données, de scientifiques de données ou d'ingénieurs de données. 

Dans ce tutoriel, vous découvrirez 25 des commandes SQL les plus courantes, qui suffiront à la plupart de vos tâches liées aux bases de données.

Commandes SQL avec exemples

Exemple de tableau

Tout au long de ce tutoriel, nous utiliserons les tableaux films et soundtracks.

films 

movie_name

directeur

revenus

date

genre

langue

Avengers : L'âge d'Ultron

J. Whedon

1400000000

2015

Action

Anglais

Amelie

Jean-Pierre Jeunet

174000000

2002

Drame

Français

bandes sonores

bande sonore

compositeur

date

Inception : Musique du film

Hans Zimmer

2010

Le Fabuleux Destin D’Amelie Poulain

Yann Tiersen

2001

1. SELECT

L'instruction SELECT est utilisée pour spécifier quelles colonnes d'un tableau de base de données doivent être incluses dans le résultat. 

Cet exemple ne sélectionne que les colonnes movie_name et director; les autres colonnes ne sont pas renvoyées.

SELECT movie_name, director
FROM films;

Pour sélectionner toutes les colonnes d'un tableau, vous pouvez lancer SELECT * (prononcer "star"). Cet exemple sélectionne toutes les colonnes du tableau films tableau.

SELECT * 
FROM films;

2. LIMIT

Limiter le nombre de tableaux renvoyés par un tableau est une astuce utile pour accélérer le temps d'interrogation. Pour limiter le nombre de lignes, vous pouvez utiliser la commande LIMIT.  Cet exemple sélectionne toutes les colonnes du tableau films puis limite les résultats aux dix premières lignes.

SELECT *
FROM films
LIMIT 10;

3. AS

Pour renommer une colonne ou un tableau lors du retour des résultats, vous pouvez utiliser la commande AS pour définir un alias pour vos sorties. Cet exemple sélectionne la colonne movie_name et lui donne l'alias movie_title.

SELECT movie_name AS movie_title
FROM films;

4. SELECT DISTINCT

Les ensembles de données contiennent souvent des lignes ou des valeurs en double dans une colonne. La combinaison de SELECT avec DISTINCT supprime les doublons. Cet exemple renvoie les valeurs uniques de la colonne director.

SELECT DISTINCT director
FROM films;

5. COUNT

COUNT() renvoie le nombre de tableaux dans le tableau ou le groupe. Cet exemple renvoie le nombre de tableaux dans le tableau films, puis renomme le résultat en number_of_films.

SELECT COUNT(*) AS number_of_films
FROM films;

Commencez à apprendre SQL gratuitement

Introduction to SQL

BeginnerSkill Level
2 hr
975.9K learners
Learn how to create and query relational databases using SQL in just two hours.
See DetailsRight Arrow

Data Manipulation in SQL

BeginnerSkill Level
4 hr
250.8K learners
Master the complex SQL queries necessary to answer a wide variety of data science questions and prepare robust data sets for analysis in PostgreSQL.

6. MIN 

MIN() renvoie la valeur minimale d'une colonne numérique. Pour les colonnes de texte, MIN() renvoie la première valeur par ordre alphabétique. Cet exemple renvoie le film dont les recettes sont les plus faibles. 

SELECT MIN(revenue) AS minimum_revenue,
FROM films;

7. MAX

MAX() renvoie la valeur maximale d'une colonne numérique. Pour les colonnes de texte, MAX() renvoie la dernière valeur par ordre alphabétique. Cet exemple renvoie le film qui a généré le plus de recettes. 

SELECT MAX(revenue) AS maximum_revenue,
FROM films;

8. SUM

SUM() renvoie le total des valeurs numériques. Cet exemple renvoie les recettes totales de tous les films répertoriés dans le tableau films

SELECT SUM(revenue) AS total_revenue
FROM films;

9. AVERAGE

MOYENNE calcule la moyenne arithmétique d'une colonne. Cet exemple renvoie la recette moyenne de tous les films répertoriés dans le tableau films

SELECT AVERAGE(revenue) AS average_earned
FROM films;

10. WHERE

La clause WHERE filtre les lignes qui répondent à une certaine condition. Par exemple, ci-dessous, nous filtrons les films qui ont rapporté plus de 500 millions de dollars

SELECT revenue 
FROM films
WHERE revenue > 500000000;

D'autres opérateurs conditionnels peuvent être utilisés, tels que <, >, =>, <=, == (equals), != (not equals) pour le filtrage.

11. HAVING

La clause HAVING est similaire à la clause WHERE, mais elle ne peut être utilisée qu'avec des fonctions d'agrégation, contrairement à WHERE. Par exemple, dans la requête ci-dessous, nous choisissons tous les genres de films qui ont au moins 50 films dans leur catégorie :

SELECT movie_name, director, date, COUNT(genre)
FROM films
GROUP BY genre
HAVING COUNT(genre) >= 50;

Voici un autre exemple qui regroupe les films par classe d'âge et ne retient que ceux dont les recettes moyennes sont supérieures à 100 millions d'euros :

SELECT movie_name, director, date, revenue
FROM films
GROUP BY age_rating
HAVING AVERAGE(genre) >= 100;

12. AND

AND est utilisé pour filtrer les lignes qui répondent à plus d'une condition. Dans l'exemple ci-dessous, nous filtrerons les films anglais qui ont rapporté plus de 500 millions de dollars.

SELECT *
FROM films
WHERE revenue > 500000000 AND
     language == "English";

13. OR

OR est un autre opérateur conditionnel qui vous permet de subdiviser les lignes si l'une des conditions séparées par OR est vraie. Cet exemple renvoie les films anglais qui ont rapporté moins de 100 millions de dollars ou les films français qui ont rapporté plus de 500 millions de dollars. 

SELECT *
FROM films
WHERE (revenue < 100000000 AND language == "English") OR
     (revenue > 500000000 AND language  == “French”);

14. BETWEEN

BETWEEN vous permet de subdiviser les lignes dans un certain intervalle, ce qui rend les clauses WHERE plus simples et plus faciles à lire. Dans l'exemple ci-dessus, nous choisissons tous les films sortis entre 2020 et 2022.

SELECT *
FROM films
WHERE date BETWEEN 2020 AND 2022;

15. IN

L'opérateur IN est une abréviation pour plusieurs déclarations OR. Cet exemple renvoie tous les films sortis au cours de l'une ou l'autre de ces années - 1998, 1966, 2001 et 2012.

SELECT movie_name, date, revenue
FROM films
WHERE date IN (1998, 1966, 2001, 2012);

16. LIKE

L'opérateur LIKE vous permet de rechercher des motifs dans une colonne de texte à l'aide de chaînes spéciales appelées caractères génériques. Les caractères génériques vous permettent de trouver des chaînes de texte correspondant à un modèle spécifique. Par exemple, l'utilisation du caractère générique “A% W%” dans la colonne des directeurs permettra de trouver tous les directeurs dont le prénom commence par A et le nom de famille par W. 

SELECT *
FROM films
WHERE director LIKE "A% W%";

17. GROUP BY

GROUP BY vous permet de regrouper des lignes en fonction des valeurs des colonnes. GROUP BY est généralement utilisé avec des fonctions d'agrégation telles que COUNT, MIN, MAX, AVERAGE, et bien d'autres. Dans l'exemple ci-dessous, nous trouvons le revenu moyen de chaque genre de film.

SELECT AVERAGE(revenue), movie_name, director, date
FROM films
GROUP BY genre;

Nous aurions pu utiliser MIN, MAX, ou COUNT(revenue) pour trouver les recettes les plus faibles, les recettes les plus élevées ou le nombre de films dans chaque genre. Notez que l'instruction GROUP BY n'affecte pratiquement pas la requête si elle n'est pas utilisée avec une fonction d'agrégation.

18. ORDER BY

ORDER BY vous permet d'ordonner les lignes en fonction de la valeur d'une colonne. Vous pouvez ordonner par ordre croissant (par défaut) ou par ordre décroissant en ajoutant ASC ou DESC. Cet exemple classe les recettes par ordre croissant. 

SELECT *
FROM films
ORDER BY revenue ASC;

19. UPDATE

UPDATE est utilisé pour modifier les valeurs de cellules individuelles dans un tableau existant. Il est utilisé avec le mot-clé SET. Cet exemple met à jour le directeur “J. Whedon”, en “Joss Whedon”

UPDATE films
SET director = "Joss Whedon"
WHERE director = "J. Whedon"

La clause WHERE est cruciale pour la rédaction des déclarations UPDATE. Sans elle, la requête ci-dessus aurait fait de tous les films réalisés par Joss Whedon.

20. ALTER TABLE

Vous pouvez utiliser l'instruction ALTER TABLE pour modifier les propriétés du tableau et de ses colonnes (et non les valeurs réelles des cellules). Par exemple, modifier le nom des colonnes, ajouter de nouvelles colonnes, les supprimer ou modifier leur type de données. Les exemples ci-dessous illustrent la suppression de la colonne date et l'ajout de la colonne age_rating

ALTER TABLE films
DROP COLUMN date;
ALTER TABLE films
ADD COLUMN age_rating;

21. CREATE TABLE

CREATE TABLE crée un nouveau tableau dans une base de données. Ci-dessous, nous créons un tableau "bibliothèques" avec quatre tableaux - un tableau d'entiers appeléid, un tableau de caractères appelé name, un tableau de caractères appelé version, et un tableau d'entiers appelé num_downloads.

CREATE TABLE libraries (
   lib_id int,
   name varchar(100),
   version varchar(100),
   num_downloads int
)

22. INSERT INTO

INSERT INTO peut être utilisée pour ajouter de nouveaux tableaux à un tableau. Dans cet exemple, nous ajoutons le film “Doctor Strange” au tableau films tableau. 

INSERT INTO films (movie_name, director, revenue, date, genre, language)
VALUES ("Doctor Strange 2", “Sam Raimi”, 409000000, 2022, “Action”, “English”)

23. INNER JOIN

La commande INNER JOIN sélectionne les lignes dont les valeurs correspondent dans les deux tableaux. Par exemple, dans la requête ci-dessous, nous sommes les tableaux des films et des bandes sonores sur une colonne commune date qui renvoie les films et les bandes sonores qui sont sortis les mêmes années.

SELECT *
FROM films
INNER JOIN soundtracks
ON films.date = soundtracks.date
LIMIT 10;

24. LEFT JOIN

Une adresse LEFT JOIN conserve tous les enregistrements originaux dans le tableau de gauche et renvoie des valeurs manquantes pour toutes les colonnes du tableau de droite pour lesquelles le champ de jointure n'a pas trouvé de correspondance. 

SELECT *
FROM films
LEFT JOIN soundtracks
ON films.date = soundtracks.date
LIMIT 10;

25. RIGHT JOIN

Une adresse RIGHT JOIN conserve tous les enregistrements originaux dans le tableau de droite et renvoie des valeurs manquantes pour toutes les colonnes du tableau de gauche pour lesquelles le champ de jointure n'a pas trouvé de correspondance.

SELECT *
FROM films
LEFT JOIN soundtracks
ON films.date = soundtracks.date
LIMIT 10;

Aide-mémoire des commandes SQL

Pour en savoir plus sur SQL, consultez les ressources suivantes :

Devenez certifié SQL

Prouvez que vos compétences en SQL sont prêtes à l'emploi grâce à une certification.
Booster ma carrière
Sujets

En savoir plus sur SQL

cours

Introduction to SQL

2 hr
975.9K
Learn how to create and query relational databases using SQL in just two hours.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

blog

Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024

Un guide complet pour explorer les questions d'entretien AWS de base, intermédiaires et avancées, ainsi que des questions basées sur des situations réelles. Il couvre tous les domaines, garantissant ainsi une stratégie de préparation bien équilibrée.
Zoumana Keita 's photo

Zoumana Keita

30 min

blog

Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Vous êtes actuellement à la recherche d'un emploi qui utilise Snowflake ? Préparez-vous à répondre à ces 20 questions d'entretien sur le flocon de neige pour décrocher le poste !
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 min

blog

2022-2023 Rapport annuel DataCamp Classrooms

À l'aube de la nouvelle année scolaire, DataCamp Classrooms est plus motivé que jamais pour démocratiser l'apprentissage des données, avec plus de 7 650 nouveaux Classrooms ajoutés au cours des 12 derniers mois.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 min

blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates a offert plus de 20k bourses d'études à nos partenaires à but non lucratif au deuxième trimestre 2023. Découvrez comment des apprenants défavorisés et assidus ont transformé ces opportunités en réussites professionnelles qui ont changé leur vie.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.

Réparties entre nos deux programmes d'impact social, DataCamp Classrooms et #DCDonates, les bourses offrent un accès illimité à tout ce que DataCamp Premium a à offrir.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

blog

Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Découvrez le parcours inspirant de Saghar Hazinyar, diplômée de Code to Inspire, qui a surmonté les défis en Afghanistan et s'est épanouie grâce à une bourse de DataCamp Donates.
Fereshteh Forough's photo

Fereshteh Forough

4 min

Voir plusVoir plus