Maison  >  Article  >  base de données  >  Comment utiliser la fonction FULL OUTER JOIN dans MySQL pour obtenir l'union de deux tables

Comment utiliser la fonction FULL OUTER JOIN dans MySQL pour obtenir l'union de deux tables

王林
王林original
2023-07-26 17:45:132480parcourir

Comment utiliser la fonction FULL OUTER JOIN dans MySQL pour obtenir l'union de deux tables

Dans MySQL, la fonction FULL OUTER JOIN est une opération de jointure puissante qui combine des jointures internes et des jointures externes. Il peut être utilisé pour obtenir l'union de deux tables, c'est-à-dire combiner toutes les données des deux tables en un seul ensemble de résultats. Cet article présentera l'utilisation de la fonction FULL OUTER JOIN et fournira des exemples de code pour aider les lecteurs à mieux comprendre. La syntaxe de la fonction

FULL OUTER JOIN est la suivante :

SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.column = table2.column;

Dans cette syntaxe, table1 et table2 sont les deux tables à connecter, la colonne est la condition de connexion et * signifie sélectionner toutes les colonnes.

Supposons que nous ayons deux tables : la table A et la table B. Leur structure et leurs données sont les suivantes :

Table A :

+----+--------+
| id | name   |
+----+--------+
| 1  | Tom    |
| 2  | Jerry  |
| 3  | Alice  |
+----+--------+

Table B :

+----+--------+
| id | name   |
+----+--------+
| 1  | Peter  |
| 2  | Jerry  |
| 4  | Bob    |
+----+--------+

Maintenant, nous voulons obtenir l'union de la table A et de la table B.

L'exemple de code utilisant la fonction FULL OUTER JOIN est le suivant :

SELECT *
FROM tableA
FULL OUTER JOIN tableB
ON tableA.id = tableB.id;

Après avoir exécuté le code ci-dessus, nous obtiendrons les résultats suivants :

+------+---------+---------+
| id   | name    | name    |
+------+---------+---------+
| 1    | Tom     | Peter   |
| 2    | Jerry   | Jerry   |
| 3    | Alice   | NULL    |
| NULL | NULL    | Bob     |
+------+---------+---------+

Comme le montrent les résultats ci-dessus, la fonction FULL OUTER JOIN combine tous les valeurs des données du tableau A et du tableau B sont incluses. Il fusionne les lignes avec la même valeur dans les deux tables en fonction de la condition de jointure et remplit la colonne correspondante avec NULL s'il n'y a pas de ligne correspondante dans une table.

Dans l'exemple ci-dessus, les lignes avec les identifiants 1 et 2 sont présentes dans les deux tableaux, elles sont donc fusionnées en une seule ligne. La ligne avec l'identifiant 3 n'existe que dans le tableau A et la ligne avec l'identifiant 4 n'existe que dans le tableau B, elles sont donc affichées comme une ligne distincte.

En plus de SELECT *, nous pouvons également éventuellement spécifier les colonnes requises comme suit :

SELECT tableA.id, tableA.name, tableB.name
FROM tableA
FULL OUTER JOIN tableB
ON tableA.id = tableB.id;

Après avoir exécuté le code ci-dessus, nous obtiendrons les résultats suivants :

+------+---------+---------+
| id   | name    | name    |
+------+---------+---------+
| 1    | Tom     | Peter   |
| 2    | Jerry   | Jerry   |
| 3    | Alice   | NULL    |
| NULL | NULL    | Bob     |
+------+---------+---------+

À partir de l'exemple ci-dessus, nous pouvons voir comment utiliser le FULL Fonction OUTER JOIN pour obtenir l'union de deux tables. Cela peut nous aider à fusionner les données des deux tableaux, ce qui rend le traitement des données plus pratique.

Pour résumer, la fonction FULL OUTER JOIN est une puissante opération de jointure dans MySQL permettant d'obtenir l'union de deux tables. Il peut fusionner toutes les données de deux tables en un seul jeu de résultats et fusionner les lignes avec la même valeur en fonction de la condition de jointure. Grâce à l'introduction et à l'exemple de code de cet article, j'espère qu'il pourra aider les lecteurs à mieux comprendre l'utilisation et les compétences d'utilisation de la fonction FULL OUTER JOIN.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn