Maison >base de données >tutoriel mysql >Comment combiner plusieurs résultats de requête à l'aide de la fonction UNION de MySQL

Comment combiner plusieurs résultats de requête à l'aide de la fonction UNION de MySQL

WBOY
WBOYoriginal
2023-07-25 10:01:482413parcourir

Comment utiliser la fonction UNION de MySQL pour fusionner plusieurs résultats de requête

MySQL est un système de gestion de base de données relationnelle couramment utilisé qui fournit des fonctions et une syntaxe riches pour la requête et le fonctionnement des données. Parmi elles, la fonction UNION est une méthode couramment utilisée pour fusionner plusieurs résultats de requêtes, qui peut fusionner et intégrer efficacement des ensembles de données. Cet article expliquera comment utiliser la fonction UNION de MySQL pour implémenter cette fonction et fournira des exemples de code correspondants.

1. Utilisation de base et syntaxe de la fonction UNION

UNION est une fonction utilisée pour fusionner plusieurs résultats de requête. La syntaxe de base est la suivante :

SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2
...

où :

  • colonne1, colonne2, ... sont les noms de colonnes à sélectionner.
  • table1, table2, ... sont les noms des tables à interroger.

Notez que la fonction UNION exige que les résultats de la requête fusionnée aient le même nombre de colonnes et des types de données similaires.

2. Utilisez la fonction UNION pour fusionner plusieurs résultats de requête

Ce qui suit est un exemple simple. Supposons qu'il existe deux tables : table1 et table2.

-- 创建表table1
CREATE TABLE table1 (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

-- 创建表table2
CREATE TABLE table2 (
  id INT PRIMARY KEY,
  salary FLOAT
);

-- 向表table1插入数据
INSERT INTO table1 (id, name) VALUES (1, 'John');
INSERT INTO table1 (id, name) VALUES (2, 'Lisa');

-- 向表table2插入数据
INSERT INTO table2 (id, salary) VALUES (1, 5000);
INSERT INTO table2 (id, salary) VALUES (2, 6000);

Maintenant, nous devons fusionner les résultats de requête de ces deux tables, ce qui peut être réalisé à l'aide de la fonction UNION.

SELECT id, name FROM table1
UNION
SELECT id, CAST(salary AS CHAR) AS name FROM table2;

Grâce au code ci-dessus, nous pouvons obtenir les résultats suivants :

id  | name
-------------
1   | John
2   | Lisa
1   | 5000
2   | 6000

3. Autres utilisations de la fonction UNION

En plus de l'utilisation de base, la fonction UNION a d'autres utilisations et précautions.

  1. UNION ALL : UNION ALL a des fonctions similaires à UNION, mais il n'effectue pas d'opérations de déduplication. Si vous devez conserver des lignes en double, vous pouvez utiliser UNION ALL.
SELECT id, name FROM table1
UNION ALL
SELECT id, CAST(salary AS CHAR) AS name FROM table2;
  1. Clause ORDER BY : Vous pouvez ajouter une clause ORDER BY après la fonction UNION pour trier les résultats.
SELECT id, name FROM table1
UNION
SELECT id, CAST(salary AS CHAR) AS name FROM table2
ORDER BY id;
  1. Choses à noter : La fonction
  2. UNION exige que les résultats de la requête fusionnée aient le même nombre de colonnes et des types de données similaires.
  3. La fonction UNION supprime les doublons par défaut Si vous devez conserver les lignes en double, vous pouvez utiliser UNION ALL.
  4. La fonction UNION triera automatiquement les résultats de la requête. Si vous devez spécifier les règles de tri, vous pouvez utiliser la clause ORDER BY.

4. Résumé

La fonction UNION de MySQL est une méthode pratique pour fusionner plusieurs résultats de requête. Grâce à la fonction UNION, nous pouvons intégrer et fusionner des ensembles de données de manière flexible. Cet article présente l'utilisation et la syntaxe de base de la fonction UNION et fournit des exemples de code correspondants. Nous espérons que grâce à l'introduction de cet article, les lecteurs pourront devenir plus compétents dans l'utilisation de la fonction UNION pour l'interrogation et le fonctionnement des données.

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