Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Joindre Deux Tables | Jointure de Tables
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
SQL Intermédiaire

bookJoindre Deux Tables

Nous avons attiré l'attention d'une entreprise qui possède une petite boutique en ligne. Elle dispose de 2 tables qui sont liées entre elles. La première table contient des informations sur les produits vendus dans la boutique en ligne.

Voici à quoi ressemble la table product :

La deuxième table contient les catégories de produits présentes sur le site, ainsi qu'une brève description pour chaque catégorie.

Voici à quoi ressemble la table category :

Notre première tâche consiste à joindre ces deux tables afin de déterminer combien de produits se trouvent dans chaque catégorie. Nous utiliserons une instruction JOIN pour cela.

Avant d'aborder la tâche, comprenons ce qu'est une instruction JOIN et comment elle fonctionne.

Note
Définition

JOIN en SQL est une opération qui combine les lignes de deux ou plusieurs tables en fonction d'une colonne liée entre elles. JOIN permet d'obtenir des données provenant de plusieurs tables dans une seule requête, ce qui simplifie l'analyse et le traitement des données liées.

Pour joindre deux tables, elles doivent partager une colonne commune. Observons le fonctionnement de JOIN à l'aide des tables employees et department. Leur colonne commune est employees.department et departments.name.

Note
Remarque

Lors de l'écriture des colonnes de ces tables, commencer par le nom de la table, ajouter un point, puis le nom de la colonne. Cela permet de garder le code clair, en particulier lorsque les tables possèdent des colonnes portant le même nom. Cela indique à SQL exactement à quelle table et colonne vous faites référence.

Voici la tâche consistant à récupérer le salaire total des employés dans chaque type de département (tech/non-tech).

La requête pour accomplir cette tâche sera la suivante :

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Analyse de l’utilisation de JOIN dans cette requête :

  1. Dans la partie SELECT, liste des colonnes souhaitées provenant des deux tables, en précisant le nom de la table pour plus de clarté ;
  2. Dans la partie JOIN, indication de la table à joindre et de la colonne commune qui les relie. Ici, il s’agit de employees.department et department.name ;
  3. Regroupement des données par type afin de calculer le salaire total à l’aide de la fonction SUM().

Si cela paraît complexe, voici une syntaxe simple pour utiliser JOIN :

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Remarque

Contrairement à la clause UNION, l'instruction JOIN permet de combiner des tables entières, et pas seulement les colonnes qu'elles ont en commun. De plus, avec JOIN, il n'est pas nécessaire d'utiliser des sous-requêtes comme avec UNION.

Tâche

Swipe to start coding

Vous devez joindre les deux tables : category et product. Les colonnes communes à ces deux tables sont product.category_id et category.id.

Votre objectif est de trouver le montant total des produits dans chaque catégorie. Pour cela, vous devez calculer la somme de la colonne product.amount.

Utilisez l'alias total_amount pour cette colonne. À la fin de votre requête, triez le résultat par la colonne total_amount par ordre croissant.

Dans la réponse, vous devez avoir 2 colonnes : category.name et total.amount.

Instructions brèves

  • Récupérez la colonne category.name et la somme de la colonne product.amount depuis la table product.
  • Attribuez l'alias total_amount à la deuxième colonne.
  • Joignez la table category en utilisant une instruction JOIN.
  • Faites la correspondance des tables sur la colonne commune product.category_id = category.id.
  • Regroupez les résultats par category.name.
  • Triez les résultats par total_amount.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain how the JOIN would work for the product and category tables?

What type of JOIN should I use for this scenario?

Can you show an example query joining the product and category tables?

close

bookJoindre Deux Tables

Glissez pour afficher le menu

Nous avons attiré l'attention d'une entreprise qui possède une petite boutique en ligne. Elle dispose de 2 tables qui sont liées entre elles. La première table contient des informations sur les produits vendus dans la boutique en ligne.

Voici à quoi ressemble la table product :

La deuxième table contient les catégories de produits présentes sur le site, ainsi qu'une brève description pour chaque catégorie.

Voici à quoi ressemble la table category :

Notre première tâche consiste à joindre ces deux tables afin de déterminer combien de produits se trouvent dans chaque catégorie. Nous utiliserons une instruction JOIN pour cela.

Avant d'aborder la tâche, comprenons ce qu'est une instruction JOIN et comment elle fonctionne.

Note
Définition

JOIN en SQL est une opération qui combine les lignes de deux ou plusieurs tables en fonction d'une colonne liée entre elles. JOIN permet d'obtenir des données provenant de plusieurs tables dans une seule requête, ce qui simplifie l'analyse et le traitement des données liées.

Pour joindre deux tables, elles doivent partager une colonne commune. Observons le fonctionnement de JOIN à l'aide des tables employees et department. Leur colonne commune est employees.department et departments.name.

Note
Remarque

Lors de l'écriture des colonnes de ces tables, commencer par le nom de la table, ajouter un point, puis le nom de la colonne. Cela permet de garder le code clair, en particulier lorsque les tables possèdent des colonnes portant le même nom. Cela indique à SQL exactement à quelle table et colonne vous faites référence.

Voici la tâche consistant à récupérer le salaire total des employés dans chaque type de département (tech/non-tech).

La requête pour accomplir cette tâche sera la suivante :

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Analyse de l’utilisation de JOIN dans cette requête :

  1. Dans la partie SELECT, liste des colonnes souhaitées provenant des deux tables, en précisant le nom de la table pour plus de clarté ;
  2. Dans la partie JOIN, indication de la table à joindre et de la colonne commune qui les relie. Ici, il s’agit de employees.department et department.name ;
  3. Regroupement des données par type afin de calculer le salaire total à l’aide de la fonction SUM().

Si cela paraît complexe, voici une syntaxe simple pour utiliser JOIN :

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Remarque

Contrairement à la clause UNION, l'instruction JOIN permet de combiner des tables entières, et pas seulement les colonnes qu'elles ont en commun. De plus, avec JOIN, il n'est pas nécessaire d'utiliser des sous-requêtes comme avec UNION.

Tâche

Swipe to start coding

Vous devez joindre les deux tables : category et product. Les colonnes communes à ces deux tables sont product.category_id et category.id.

Votre objectif est de trouver le montant total des produits dans chaque catégorie. Pour cela, vous devez calculer la somme de la colonne product.amount.

Utilisez l'alias total_amount pour cette colonne. À la fin de votre requête, triez le résultat par la colonne total_amount par ordre croissant.

Dans la réponse, vous devez avoir 2 colonnes : category.name et total.amount.

Instructions brèves

  • Récupérez la colonne category.name et la somme de la colonne product.amount depuis la table product.
  • Attribuez l'alias total_amount à la deuxième colonne.
  • Joignez la table category en utilisant une instruction JOIN.
  • Faites la correspondance des tables sur la colonne commune product.category_id = category.id.
  • Regroupez les résultats par category.name.
  • Triez les résultats par total_amount.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
single

single

some-alt