Joindre 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.
Pour joindre deux tables, elles doivent partager une colonne commune. Examinons le fonctionnement de JOIN
en utilisant les tables employees
et department
. Leur colonne commune est employees.department
et departments.name
.
Remarque
Lors de l'écriture des colonnes provenant 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 précisément à 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 permettant d'accomplir cette tâche sera la suivante :
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Décomposons comment nous avons utilisé JOIN
dans notre requête :
- Dans la partie
SELECT
, nous listons les colonnes souhaitées des deux tables, en veillant à inclure le nom de la table pour plus de clarté ; - Dans la partie
JOIN
, nous spécifions la table à joindre et la colonne commune qui les relie. Ici, il s'agit deemployees.department
etdepartment.name
; - Nous regroupons ensuite les données par
type
afin de calculer le salaire total à l'aide de la fonctionSUM()
.
Si cela semble complexe, voici une syntaxe simple pour utiliser JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Remarque
Contrairement à la clause
UNION
, l'instructionJOIN
permet de combiner des tables entières, et pas seulement les colonnes qu'elles partagent. De plus, avecJOIN
, il n'est pas nécessaire d'utiliser des sous-requêtes comme avecUNION
.
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 tâche consiste à trouver le montant total de 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 colonneproduct.amount
depuis la tableproduct
. - Attribuez l'alias
total_amount
à la seconde colonne. - Joignez la table
category
en utilisant une instructionJOIN
. - 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
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 4
Joindre 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.
Pour joindre deux tables, elles doivent partager une colonne commune. Examinons le fonctionnement de JOIN
en utilisant les tables employees
et department
. Leur colonne commune est employees.department
et departments.name
.
Remarque
Lors de l'écriture des colonnes provenant 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 précisément à 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 permettant d'accomplir cette tâche sera la suivante :
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Décomposons comment nous avons utilisé JOIN
dans notre requête :
- Dans la partie
SELECT
, nous listons les colonnes souhaitées des deux tables, en veillant à inclure le nom de la table pour plus de clarté ; - Dans la partie
JOIN
, nous spécifions la table à joindre et la colonne commune qui les relie. Ici, il s'agit deemployees.department
etdepartment.name
; - Nous regroupons ensuite les données par
type
afin de calculer le salaire total à l'aide de la fonctionSUM()
.
Si cela semble complexe, voici une syntaxe simple pour utiliser JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Remarque
Contrairement à la clause
UNION
, l'instructionJOIN
permet de combiner des tables entières, et pas seulement les colonnes qu'elles partagent. De plus, avecJOIN
, il n'est pas nécessaire d'utiliser des sous-requêtes comme avecUNION
.
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 tâche consiste à trouver le montant total de 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 colonneproduct.amount
depuis la tableproduct
. - Attribuez l'alias
total_amount
à la seconde colonne. - Joignez la table
category
en utilisant une instructionJOIN
. - 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
Merci pour vos commentaires !
Awesome!
Completion rate improved to 4single