Théorie des ensembles pour les jointures SQL

Joindre des données en 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 a deux cercles qui se chevauchent, entièrement colorés en vert. Le diagramme INTERSECT a deux cercles qui se chevauchent, mais seule la partie commune est en vert. Le diagramme EXCEPT montre seulement la partie du cercle de gauche qui n'a rien en commun avec celui de droite, en vert.

Joindre des données en SQL

Diagrammes de Venn et théorie des ensembles

Une image montrant trois diagrammes de Venn, dont deux estompés. Seul celui d'UNION est au premier plan. Le diagramme UNION a deux cercles qui se chevauchent, entièrement colorés en vert.

Joindre des données en SQL

Diagramme UNION

  • UNION prend deux tables en entrée et renvoie tous les enregistrements des deux tables

Un diagramme montrant deux tables, à gauche et à droite. À droite, une illustration du résultat d'une opération UNION sur les deux tables.

Joindre des données en SQL

Diagramme UNION ALL

  • UNION ALL prend deux tables et renvoie tous les enregistrements des deux tables, y compris les doublons

Un diagramme montrant deux tables, à gauche et à droite. À droite, une illustration du résultat d'une opération UNION ALL sur les deux tables.

Joindre des données en SQL

Syntaxe de UNION et UNION ALL

Syntaxe de UNION

SELECT *
FROM left_table
UNION
SELECT *
FROM right_table;

Syntaxe de UNION ALL

SELECT *
FROM left_table
UNION ALL
SELECT *
FROM right_table;
Joindre des données en SQL

Syntaxe de UNION et UNION ALL

Un diagramme montrant deux tables, à gauche et à droite. À droite, une illustration du résultat d'une opération UNION sur les deux tables. Des flèches indiquent que les tables gauche et droite doivent avoir le même nombre de colonnes et les mêmes types de champs.

Joindre des données en SQL

Syntaxe de UNION et UNION ALL

Un diagramme montrant deux tables, à gauche et à droite. À droite, une illustration du résultat d'une opération UNION sur les deux tables. Des flèches indiquent que les tables gauche et droite doivent avoir le même nombre de colonnes et les mêmes types de champs. À droite, l'ensemble de résultats montre que le nom de champ est conservé depuis la table de droite, même avec un alias.

Joindre des données en SQL

Vers 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             |
Joindre des données en SQL

Premiers ministres, rencontrez les monarques

SELECT monarch AS leader, country
FROM monarchs
UNION
SELECT prime_minister, country
FROM prime_ministers
ORDER BY country, leader
LIMIT 10;
Joindre des données en SQL

Après 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       |
|-------------------------|----------------|
Joindre des données en SQL

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;
Joindre des données en SQL

Résultat de 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           |
Joindre des données en SQL

Passons à la pratique !

Joindre des données en SQL

Preparing Video For Download...