SQL jointures INNER et LEFT

Ce jeu de cartes éducatives couvre les jointures SQL, notamment les jointures INNER et LEFT, pour aider les étudiants en informatique à comprendre ces concepts clés et leur utilisation dans les bases de données.

EnzoLaurent·40 fiches·40 questions
études supérieurescomputer_sciencedatabases
0
Je sais
1 / 40
0
J'apprends
Recto

Qu'est-ce qu'une jointure SQL ?

Appuyez pour retourner
Verso

Une jointure SQL permet de combiner des lignes de deux ou plusieurs tables en fonction d'une condition de correspondance.

Appuyez pour retourner
Je sais
J'apprends

Quiz(40 questions)

Question 1 sur 40

1. Qu'est-ce qu'une jointure LEFT ?

Termes dans ce set(40)

Jointures SQL(16)

Qu'est-ce qu'une jointure SQL ?

Une jointure SQL permet de combiner des lignes de deux ou plusieurs tables en fonction d'une condition de correspondance.

Jointure INNER →

Retourne uniquement les lignes ayant des correspondances dans les deux tables.

Jointure LEFT →

Retourne toutes les lignes de la table de gauche, et les lignes correspondantes de la table de droite.

Vrai ou Faux : La jointure INNER peut renvoyer des lignes sans correspondance.

Faux. La jointure INNER ne renvoie que les lignes où il y a correspondance entre les tables.

Complétez : Une jointure LEFT affiche toutes les lignes de la table _____

gauche, même sans correspondance dans la table de droite.

Quelles sont les principales types de jointures ?

- INNER JOIN - LEFT JOIN - RIGHT JOIN - FULL JOIN

Exemple d'une jointure INNER :

SELECT * FROM A INNER JOIN B ON A.id = B.a_id;

Différence entre INNER et LEFT ?

INNER ne conserve que les lignes correspondantes, tandis que LEFT conserve toutes les lignes de gauche.

Vrai ou Faux : Une jointure LEFT exclut les lignes non correspondantes.

Faux. Elle inclut toutes les lignes de la table de gauche.

Quel est le résultat d'une jointure INNER sans correspondances ?

Aucun résultat n'est retourné si aucune ligne ne correspond.

Qu'est-ce qu'une clause ON ?

C'est la condition qui définit comment les tables sont reliées dans une jointure.

Exemple d'une jointure LEFT :

SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;

Utilité des jointures SQL ?

Elles permettent d'analyser des données provenant de plusieurs tables liées.

Qu'est-ce qu'une clé primaire ?

C'est un identifiant unique pour chaque ligne dans une table, utilisé pour les jointures.

Quelles tables sont impliquées dans une jointure ?

Toute table spécifiée dans la clause JOIN et celle référencée dans la condition ON.

Vrai ou Faux : Les jointures peuvent améliorer la performance des requêtes.

Vrai. Elles facilitent l'accès aux données relatives sans duplication.

Jointure INNER(12)

Qu'est-ce qu'une jointure INNER ?

Une jointure INNER permet de combiner des lignes de deux tables basées sur une condition de correspondance. Elle ne retourne que les lignes où il y a une correspondance dans les deux tables.

Exemple de jointure INNER

Pour relier les tables 'Employés' et 'Départements' : ```sql SELECT * FROM Employés INNER JOIN Départements ON Employés.dept_id = Départements.id; ```

Vrai ou faux : Une jointure INNER peut retourner des lignes sans correspondance.

Faux. Une jointure INNER ne retourne que les lignes avec des correspondances dans les deux tables.

Syntaxe d'une jointure INNER

La syntaxe de base est : ```sql SELECT colonnes FROM table1 INNER JOIN table2 ON condition; ```

Quand utiliser une jointure INNER ?

Utilisez une jointure INNER lorsque vous avez besoin des données uniquement lorsque des correspondances existent entre les tables.

Différence entre INNER et LEFT

INNER : retourne uniquement les correspondances. LEFT : retourne toutes les lignes de la première table, même sans correspondance dans la seconde.

Comment se comporte INNER avec des doublons ?

Les doublons dans les tables peuvent entraîner des résultats multipliés. Par exemple, si deux employés d'un même département existent, le résultat affichera deux lignes pour ce département.

Condition de jointure INNER : exemple

Pour relier les tables 'Clients' et 'Commandes' : ```sql SELECT * FROM Clients INNER JOIN Commandes ON Clients.id = Commandes.client_id; ```

INNER permet d'associer quelles types de données ?

L'INNER joint des données de deux tables avec des clés étrangères, reliant des entités comme clients, produits, et commandes.

Que fait INNER si aucune correspondance ?

Si aucune correspondance n'est trouvée, la ligne n'est pas incluse dans le résultat final.

Effet de INNER sur performance

Les jointures INNER peuvent être performantes avec des index appropriés. Elles sont souvent plus rapides que les jointures LEFT.

Complétez : Une jointure INNER est celle qui ...

... retourne uniquement les lignes ayant des correspondances dans les deux tables.

Jointure LEFT(12)

Jointure LEFT

La jointure LEFT retourne tous les enregistrements de la table de gauche et les correspondances de la table de droite. Si aucune correspondance n'est trouvée, le résultat de la table de droite sera NULL.

Différence entre INNER et LEFT

INNER : retourne uniquement les correspondances. LEFT : inclut tous les enregistrements de la table de gauche, même sans correspondance.

Exemple de jointure LEFT

Si nous avons deux tables : - Clients (ID, Nom) - Commandes (ID_Produit, ID_Client) La requête : `SELECT Clients.Nom, Commandes.ID_Produit FROM Clients LEFT JOIN Commandes ON Clients.ID = Commandes.ID_Client;`

Vrai ou faux : LEFT ne retourne jamais NULL.

Faux. LEFT peut retourner des valeurs NULL pour les colonnes de la table de droite si aucune correspondance n'est trouvée.

Cas d'utilisation de LEFT JOIN

Utilisé lorsque l'on veut afficher tous les enregistrements d'une table même s'il n'y a pas de correspondance dans l'autre table. Exemple : liste de tous les clients avec ou sans commandes.

Complétez : LEFT JOIN retourne tous les enregistrements de la table _____ et les correspondances de la table _____ .

gauche, droite.

Comment écrire une requête LEFT JOIN?

Syntaxe : `SELECT colonnes FROM table_gauche LEFT JOIN table_droite ON condition;`

Situation pour utiliser LEFT JOIN

Quand vous voulez garder tous les enregistrements d'une table même si l'autre table n'a pas de données correspondantes.

Utilisation fréquente de LEFT JOIN

Pour les rapports où il est important d'inclure tous les éléments d'une liste, comme les clients sans commandes.

INNER JOIN vs LEFT JOIN : performance

INNER JOIN est généralement plus performant car il ne traite que les enregistrements correspondants, tandis que LEFT JOIN peut gérer plus de données en incluant des NULL.

Résultat d'une LEFT JOIN sans correspondance

Dans le cas où il n'y a pas de correspondance, les colonnes de la table de droite afficheront NULL dans le résultat.

Expliquer en une phrase la jointure LEFT.

C'est une jointure qui sélectionne tous les enregistrements d'une table et les correspondances d'une autre, remplissant avec NULL si aucune correspondance n'existe.

Questions dans ce set(40)

1. Qu'est-ce qu'une jointure LEFT ?

A.Elle retourne tous les enregistrements de la table de gauche et les correspondances de la table de droite.
B.Elle retourne uniquement les enregistrements de la table de droite.
C.Elle fusionne deux tables sans condition.
D.Elle ne retourne que les enregistrements correspondants.

2. Qu'est-ce qui est retourné par une jointure LEFT ?

A.Toutes les lignes de la table de gauche et les correspondances de la table de droite.
B.Uniquement les lignes avec des correspondances dans les deux tables.
C.Aucune ligne si aucune correspondance n'est trouvée.
D.Uniquement les lignes de la table de droite.

3. Qu'est-ce qu'une jointure INNER ?

A.Elle combine des lignes de deux tables basées sur une condition de correspondance.
B.Elle retourne toutes les lignes d'une table, même sans correspondance.
C.Elle ne nécessite pas de condition de correspondance.
D.Elle est utilisée uniquement pour des tables identiques.

4. Quel est le principal avantage d'utiliser une jointure LEFT JOIN ?

A.Obtenir uniquement les enregistrements correspondants.
B.Afficher tous les enregistrements d'une table même sans correspondance.
C.Augmenter la vitesse des requêtes.
D.Éviter les valeurs NULL dans les résultats.

5. Quelle clause est utilisée pour spécifier la condition de jointure ?

A.WHERE
B.ON
C.JOIN
D.FROM

6. Quelle est la syntaxe correcte pour une jointure INNER ?

A.SELECT colonne FROM table1 INNER JOIN table2 ON condition;
B.SELECT * FROM table1, table2 WHERE condition;
C.SELECT * FROM table1 JOIN table2;
D.SELECT table1 INNER JOIN table2;

7. Dans quelle situation utiliseriez-vous une jointure LEFT JOIN ?

A.Pour fusionner deux tables sans critères.
B.Pour lister tous les clients, même ceux sans commandes.
C.Pour obtenir uniquement les commandes des clients actifs.
D.Pour supprimer des enregistrements des deux tables.

8. Les jointures INNER renvoient-elles des lignes sans correspondance ?

A.Non, uniquement les lignes correspondantes.
B.Oui, toutes les lignes de la table de gauche.
C.Oui, mais uniquement les lignes correspondantes de la table de droite.
D.Non, sauf si une condition spéciale est définie.

9. Vrai ou faux : Une jointure INNER retourne toutes les lignes de la première table.

A.Vrai
B.Faux
C.Vrai uniquement si les tables sont identiques.
D.Faux uniquement si les tables ont des clés étrangères.

10. Quelle est la différence entre une jointure INNER et une jointure LEFT ?

A.INNER retourne toutes les lignes, LEFT ne retourne que les correspondances.
B.LEFT inclut toutes les lignes de la table de gauche, tandis qu'INNER ne retourne que les correspondances.
C.Les performances sont identiques pour les deux types.
D.LEFT ne peut pas retourner de valeurs NULL.

11. Quel mot clé permet de joindre deux tables dans une requête SQL ?

A.JOIN
B.LINK
C.MERGE
D.CONNECT

12. Dans quel scénario utiliseriez-vous une jointure INNER ?

A.Lorsque vous avez besoin de données uniquement présentes dans les deux tables.
B.Lorsque vous souhaitez toutes les lignes d'une table sans conditions.
C.Lorsque les tables sont totalement indépendantes.
D.Lorsque vous avez besoin de toutes les données d'une seule table.

13. Que retournent les colonnes de la table de droite si aucune correspondance n'est trouvée dans une jointure LEFT ?

A.Des valeurs vides.
B.Des valeurs NULL.
C.Des valeurs par défaut.
D.Aucune colonne n'est retournée.

14. Vrai ou Faux : Une jointure FULL retourne toutes les lignes des deux tables.

A.Vrai
B.Faux
C.Cela dépend de la condition.
D.Uniquement si les clés sont identiques.

15. Quelle est la différence principale entre une jointure INNER et une jointure LEFT ?

A.INNER retourne uniquement les correspondances, LEFT retourne toutes les lignes de la première table.
B.LEFT ne retourne jamais de lignes, INNER retourne toujours toutes les lignes.
C.Les deux retournent exactement les mêmes résultats.
D.INNER ne peut pas être utilisé avec des clés étrangères, alors que LEFT le peut.

16. Quelle est la bonne syntaxe pour une requête LEFT JOIN ?

A.SELECT colonnes FROM table_gauche LEFT JOIN table_droite ON condition;
B.SELECT colonnes LEFT JOIN table_gauche, table_droite ON condition;
C.FROM table_gauche JOIN table_droite USING(condition);
D.JOIN table_gauche LEFT table_droite ON condition;

17. Quel type de jointure exclut les lignes de la table de gauche sans correspondance ?

A.LEFT JOIN
B.RIGHT JOIN
C.INNER JOIN
D.FULL JOIN

18. Quel effet une jointure INNER peut-elle avoir sur les résultats si des doublons existent dans les tables ?

A.Elle élimine tous les doublons automatiquement.
B.Elle peut multiplier les résultats selon le nombre de doublons.
C.Elle ne modifie pas les résultats.
D.Elle ne peut pas être utilisée avec des doublons.

19. Quel type de données pourrait être affiché comme NULL dans une jointure LEFT ?

A.Les données de la table de gauche.
B.Les clés primaires de la table de droite.
C.Les colonnes de la table de droite sans correspondance.
D.Les données agrégées.

20. Que fait la requête SELECT * FROM A INNER JOIN B ON A.id = B.a_id ?

A.Elle affiche toutes les lignes de A et de B.
B.Elle affiche seulement les lignes où id de A correspond à a_id de B.
C.Elle affiche uniquement les lignes de A.
D.Elle affiche toutes les lignes de B.

21. Qu'arrive-t-il si une jointure INNER ne trouve aucune correspondance ?

A.La ligne est incluse dans le résultat final.
B.La ligne est exclue du résultat final.
C.Une erreur est générée.
D.Une valeur nulle est remplie à la place.

22. Vrai ou faux : Une jointure LEFT peut retourner tous les enregistrements d'une table sans aucune correspondance dans l'autre table.

A.Vrai.
B.Faux.
C.Cela dépend du type de données.
D.Cela dépend des conditions de la requête.

23. Quelle est la principale différence entre INNER JOIN et LEFT JOIN ?

A.LEFT JOIN inclut toutes les lignes de gauche, INNER JOIN non.
B.INNER JOIN inclut toutes les lignes de droite, LEFT JOIN non.
C.Les deux retournent les mêmes résultats.
D.LEFT JOIN fonctionne uniquement avec des clés primaires.

24. Que signifie 'ON' dans la syntaxe d'une jointure INNER ?

A.Il assemble les données de deux tables.
B.Il spécifie la condition de correspondance entre les tables.
C.Il définit le type de jointure à utiliser.
D.Il renvoie toutes les colonnes des deux tables.

25. Complétez : La jointure LEFT retourne tous les enregistrements de la table _____ et les correspondances de la table _____.

A.droite, gauche.
B.gauche, droite.
C.gauche, gauche.
D.droite, droite.

26. Qu'est-ce qu'une clé primaire ?

A.Un identifiant unique pour chaque ligne d'une table.
B.Une méthode pour relier deux tables.
C.Une valeur qui peut être dupliquée dans une table.
D.Un champ temporaire utilisé dans les jointures.

27. Complétez : Une jointure INNER est utilisée lorsque ...

A.... il n'y a aucune correspondance entre les tables.
B.... les données dans les deux tables doivent être combinées selon une condition.
C.... toutes les lignes d'une table sont requises.
D.... une seule table est impliquée.

28. Quel résultat obtiendriez-vous avec une requête LEFT JOIN si toutes les lignes de la table de droite sont manquantes ?

A.Aucune ligne.
B.Toutes les lignes de la table de gauche avec des valeurs NULL pour la table de droite.
C.Une erreur de requête.
D.Uniquement les lignes de la table de droite.

29. Dans une jointure LEFT, que se passe-t-il si aucune ligne ne correspond dans la table de droite ?

A.Les lignes de la table de gauche sont quand même affichées.
B.Aucune ligne n'est affichée.
C.Seules les lignes de la table de droite sont affichées.
D.Une erreur est retournée.

30. Quel type de données une jointure INNER peut-elle associer ?

A.Uniquement des entiers.
B.Des données de deux tables par des clés étrangères.
C.Des données sans condition de jointure.
D.Uniquement des chaînes de caractères.

31. Pourquoi privilégier une jointure LEFT dans certaines requêtes ?

A.Pour exclure les données nulles.
B.Pour inclure toutes les données de la table de gauche même sans correspondance.
C.Pour optimiser la vitesse de traitement.
D.Pour simplifier les requêtes.

32. Quelle jointure serait la plus appropriée pour obtenir toutes les données d'une table principale, même sans correspondance dans une table secondaire ?

A.LEFT JOIN
B.INNER JOIN
C.FULL JOIN
D.CROSS JOIN

33. Vrai ou faux : Une jointure INNER peut être utilisée avec des tables ayant des structures complètement différentes.

A.Vrai
B.Faux
C.Vrai uniquement si les colonnes sont de même type.
D.Faux, car les tables doivent être identiques.

34. Quelle affirmation concernant la jointure LEFT est correcte ?

A.Elle retourne tous les enregistrements de la table de gauche, même sans correspondance dans la table de droite.
B.Elle ne retourne que les enregistrements qui ont des correspondances dans les deux tables.
C.Elle ne peut pas retourner des valeurs NULL.
D.Elle est toujours plus rapide qu'une jointure INNER.

35. Vrai ou Faux : Une jointure RIGHT inclut toutes les lignes de la table de droite.

A.Vrai
B.Faux
C.Cela dépend du type de jointure.
D.Seulement si la table de gauche est vide.

36. Quelle est l'importance des index pour les jointures INNER ?

A.Ils ralentissent les performances des jointures.
B.Ils n'ont aucune importance dans les jointures.
C.Ils peuvent améliorer la performance des jointures.
D.Ils sont obligatoires pour toutes les jointures.

37. Quel est le résultat d'une jointure INNER si aucune des clés ne correspond ?

A.Aucune ligne n'est retournée.
B.Toutes les lignes des deux tables sont retournées.
C.Toutes les lignes de la table de droite sont retournées.
D.Une erreur est générée.

38. Pourquoi utiliser des jointures SQL ?

A.Pour combiner les données de plusieurs tables liées.
B.Pour réduire la taille des tables.
C.Pour créer des copies de données.
D.Pour supprimer des lignes de tables non liées.

39. Quelles tables sont impliquées dans une jointure ?

A.Seulement la table de gauche.
B.La table de gauche et la table de droite spécifiées dans la clause JOIN.
C.Uniquement la table de droite.
D.Aucune, ça dépend de la requête.

40. Quelle jointure doit-on utiliser pour récupérer toutes les lignes d'une table, même si aucune correspondance n'existe dans l'autre table ?

A.Jointure LEFT
B.Jointure INNER
C.Jointure RIGHT
D.Jointure FULL

Sets associés

Créez votre propre set d'étude

Téléchargez un PDF, collez vos notes ou décrivez un sujet – l'IA génère des fiches, des quiz et plus en quelques secondes.

Mis en avant sur