Théorie des ensembles pour les jointures SQL

Jointure de données dans SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Diagrammes de Venn et théorie des ensembles

Une figure montrant trois diagrammes de Venn : UNION, INTERSECT, et EXCEPT. Le diagramme UNION comporte deux cercles superposés, entièrement colorés en vert. Le diagramme INTERSECT comporte deux cercles qui se chevauchent, mais seule la partie qui se chevauche est colorée en vert. Le diagramme EXCEPT ne comporte que la partie du cercle de gauche qui n’a rien en commun avec le cercle de droite colorée en vert.

Jointure de données dans SQL

Diagrammes de Venn et théorie des ensembles

Une image représentant trois diagrammes de Venn, dont deux sont floutés. Seul le diagramme avec UNION est net. Le diagramme UNION comporte deux cercles superposés, entièrement colorés en vert.

Jointure de données dans SQL

Diagramme UNION

  • L’opération UNION prend deux tables en entrée et renvoie tous les enregistrements des deux tables

Un diagramme montrant deux tables, l’une à gauche et l’autre à droite. La partie droite du diagramme illustre ce qui se passe lors de l’exécution d’une opération UNION sur les deux tables.

Jointure de données dans SQL

Diagramme UNION ALL

  • L’opération UNION ALL prend deux tables et renvoie tous les enregistrements des deux tables, y compris les doublons

Un diagramme montrant deux tables, l’une à gauche et l’autre à droite. La partie droite du diagramme illustre ce qui se passe lors de l’exécution d’une opération UNION ALL sur les deux tables.

Jointure de données dans SQL

Syntaxe UNION et UNION ALL

Syntaxe UNION

SELECT *
FROM left_table
UNION
SELECT *
FROM right_table;

Syntaxe UNION ALL

SELECT *
FROM left_table
UNION ALL
SELECT *
FROM right_table;
Jointure de données dans SQL

Syntaxe UNION et UNION ALL

Un diagramme montrant deux tables, l’une à gauche et l’autre à droite. La partie droite du diagramme illustre ce qui se passe lors de l’exécution d’une opération UNION sur les deux tables. Les flèches indiquent que les tables de gauche et de droite nécessitent le même nombre de colonnes du même type de champ.

Jointure de données dans SQL

Syntaxe UNION et UNION ALL

Un diagramme montrant deux tables, l’une à gauche et l’autre à droite. La partie droite du diagramme illustre ce qui se passe lorsqu’une opération UNION est effectuée sur les deux tables. Les flèches indiquent que le tableau de gauche et le tableau de droite nécessitent le même nombre de colonnes du même type de champ. Sur le côté droit, l’ensemble des résultats est affiché, en soulignant que le nom du champ est conservé à partir du tableau de droite, même lorsqu’un alias est utilisé.

Jointure de données dans SQL

À la table des monarques

SELECT *
FROM monarchs;
| country        | continent   | monarch                 |
|----------------|-------------|-------------------------|
| Brunei         | Asia        | Hassanal Bolkiah        |
| Oman           | Asia        | Haitham bin Tarik       |
| Norway         | Europe      | Harald V                |
| United Kingdom | Europe      | Charles III             |
Jointure de données dans SQL

Les premiers ministres rencontrent les monarques

SELECT monarch AS leader, country
FROM monarchs
UNION
SELECT prime_minister, country
FROM prime_ministers
ORDER BY country, leader
LIMIT 10;
Jointure de données dans SQL

Après l’opération UNION

|-------------------------|----------------|
| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Shehbaz Sharif          | Pakistan       |
| Luís Montenegro         | Portugal       |
|-------------------------|----------------|
Jointure de données dans SQL

Opération UNION ALL avec les dirigeants

SELECT monarch AS leader, country
FROM monarchs
UNION ALL
SELECT prime_minister, country
FROM prime_ministers
ORDER BY leader, country
LIMIT 10;
Jointure de données dans SQL

Résultat de l’opération UNION ALL

| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Haitham bin Tarik       | Oman           |
Jointure de données dans SQL

Passons à la pratique !

Jointure de données dans SQL

Preparing Video For Download...