Maison >programmation quotidienne >connaissance de MySQL >Utilisation de l'union et de l'union all dans MySQL

Utilisation de l'union et de l'union all dans MySQL

下次还敢
下次还敢original
2024-04-27 04:09:151221parcourir

UNION et UNION ALL dans MySQL sont utilisés pour fusionner des ensembles de résultats. La différence réside dans la façon dont les lignes en double sont gérées. UNION supprime les lignes en double, tandis que UNION ALL conserve toutes les lignes. Syntaxe UNION : SELECT colonne 1, colonne 2, ...FROM table 1 UNION SELECT colonne 1, colonne 2, ...FROM table 2 ; Syntaxe : SELECT colonne 1, colonne 2, ...FROM table 1 UNION ALL ; SELECT colonne 1, colonne 2, ...FROM table 2 ;

Utilisation de l'union et de l'union all dans MySQL

Utilisation de UNION et UNION ALL dans MySQL

Dans MySQL, UNION et UNION ALL sont utilisés pour fusionner deux ou plusieurs opérateurs SELECT pour l'instruction ensembles de résultats. Leur principale différence réside dans la façon dont les lignes en double sont gérées. L'opérateur

UNION

UNION supprime automatiquement les lignes en double lors de la fusion des ensembles de résultats. Il renvoie uniquement des lignes uniques de chaque jeu de résultats. L'opérateur

UNION ALL

UNION ALL conservera toutes les lignes, y compris les lignes en double, lors de la fusion des ensembles de résultats. Il concatène simplement toutes les lignes dans deux ou plusieurs jeux de résultats.

Utilisation

La syntaxe de UNION et UNION ALL est la suivante :

<code class="sql">SELECT 列1, 列2, ...
FROM 表1
UNION
SELECT 列1, 列2, ...
FROM 表2;

SELECT 列1, 列2, ...
FROM 表1
UNION ALL
SELECT 列1, 列2, ...
FROM 表2;</code>

Exemple

Supposons que nous ayons deux tables Étudiants et Enseignants :StudentsTeachers:

<code class="sql">CREATE TABLE Students (
  id INT NOT NULL PRIMARY KEY,
  name VARCHAR(255) NOT NULL
);

CREATE TABLE Teachers (
  id INT NOT NULL PRIMARY KEY,
  name VARCHAR(255) NOT NULL
);</code>

现在,我们可以使用 UNION 和 UNION ALL 来组合这两个表的 name

<code class="sql">-- 使用 UNION 移除重复行
SELECT name
FROM Students
UNION
SELECT name
FROM Teachers;

-- 使用 UNION ALL 保留所有行,包括重复行
SELECT name
FROM Students
UNION ALL
SELECT name
FROM Teachers;</code>
Maintenant, nous pouvons utiliser UNION et UNION ALL pour combiner les colonnes name de ces deux tables :

rrreeeNotes

  1. Les ensembles de résultats de UNION et UNION ALL doivent avoir le même numéro des colonnes et Les types de données des colonnes correspondantes sont compatibles.
  2. Lors de l'utilisation de UNION ALL, il faut veiller à éviter que des données en double ne contaminent les résultats.
  3. UNION a de meilleures performances car elle ne nécessite pas de déduplication avant la fusion.
🎜

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