résumé: dans ce tutoriel, vous apprendrez à utiliser L’opérateur MySQL UNION
pour combiner deux ensembles de résultats ou plus à partir de plusieurs instructions SELECT
en un seul ensemble de résultats.
MySQL opérateur UNION
MySQL UNION
opérateur vous permet de combiner deux ou plusieurs ensembles de résultats de requêtes dans un seul ensemble de résultats., Ce qui suit illustre la syntaxe de l’opérateur UNION
:
pour combiner un ensemble de résultats de deux requêtes ou plus à l’aide de l’opérateur UNION
, voici les règles de base que vous devez suivre:
- tout d’abord, le nombre et les instructions
doivent être identiques.
par défaut, l’opérateurUNION
supprime les lignes en double même si vous ne spécifiez pas explicitement l’opérateurDISTINCT
.,
voyons les exemples de tables suivants:t1
Ett2
:
l’instruction suivante combine des ensembles de résultats renvoyés part1
Ett2
tables:
Code language: SQL (Structured Query Language) (sql)
le jeu de résultats final contient les valeurs distinctes des jeux de résultats séparés renvoyés par les requêtes:
Code language: SQL (Structured Query Language) (sql)
étant donné que les lignes de valeur 2 et 3 sont des doublons, leUNION
les a supprimées et,
Le diagramme de Venn suivant illustre l’union de deux ensembles de résultats qui viennent de t1
et t2
tables:
Si vous utilisez la balise UNION ALL
explicitement, les lignes en double, si possible, rester dans le résultat. Parce que UNION ALL
n’a pas besoin de gérer les doublons, il fonctionne plus rapidement que UNION DISTINCT
.,
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Comme vous pouvez le voir, les doublons apparaissent dans le résultat combiné en raison de la balise UNION ALL
opération.
UNION vs. JOIN
AJOIN
combine les jeux de résultats horizontalement, aUNION
ajoute le jeu de résultats verticalement.,ple de base de données pour la démonstration:
Supposons que vous souhaitez combiner le prénom et le nom des employés et des clients dans un seul ensemble de résultats, vous pouvez utiliser la balise UNION
opérateur comme suit:
Code language: SQL (Structured Query Language) (sql)
Comme vous pouvez le voir à partir de la sortie, le MySQL UNION
utilise les noms de colonne de la première balise SELECT
déclaration pour les en-têtes de colonne de la sortie.,
Si vous voulez utiliser d’autres en-têtes de colonne, vous devez utiliser les alias de colonne explicitement dans la première balise SELECT
état comme indiqué dans l’exemple suivant:
Cet exemple utilise l’en-tête de colonne de la première requête pour la sortie. Il utilise la fonction CONCAT()
pour concaténer le prénom, l’espace et le nom de famille en un nom complet.,
MySQL de l’UNION et de l’ORDRE DE
Si vous souhaitez trier le résultat d’une union de fait, vous utilisez un ORDER BY
l’article dans le dernier SELECT
état comme indiqué dans l’exemple suivant:
Notez que si vous placez la balise ORDER BY
clause dans chaque SELECT
déclaration, il ne sera pas affecter l’ordre des lignes dans le résultat final ensemble.,
pour différencier les employés et les clients, vous pouvez ajouter une colonne comme indiqué dans la requête suivante:
MySQL vous fournit également une option alternative pour trier un ensemble de résultats en fonction de la position de la colonne b291c93bf1″>
clause comme suit:
cependant, ce n’est pas une bonne pratique de trier le jeu de résultats par position de colonne.
dans ce tutoriel, vous avez appris à utiliser L’instruction MySQL UNION
pour combiner les données de plusieurs requêtes en un seul ensemble de résultats.,
- ce tutoriel a Été utile?
- Ouinon