SQL Union: una guia completa sobre l'operador UNION



Aquest article és una guia completa sobre com utilitzar l’operador SQL UNION. Aquest article analitza les diferències entre UNION i UNION ALL amb exemples.

Mentre manipulem dades en bases de dades, sovint acostumem a utilitzar els operadors de conjunts de SQL , per recuperar dades segons els nostres requisits combinant dues o més sentències SELECT. En aquest article sobre SQL UNION, parlaré de l’operador UNION utilitzat per recuperar dades en la següent seqüència:

Comencem!





Què és l'operador SQL UNION?

Com el seu nom indica, aquest operador / clàusula s’utilitza per combinar els resultats de dues o més sentències SELECT. Aquí, cada instrucció SELECT utilitzada a la sentència UNION ha de tenir el mateix nombre de columnes en el mateix ordre. A més, totes les columnes presents a les sentències SELECT han de tenir tipus de dades similars.

com comprovar el palíndrom a Java

La clàusula UNION només proporciona valors únics com a sortida. Per si de cas, voleu valors duplicats, heu d’utilitzar la clàusula UNION ALL.



Seguint amb aquest article sobre SQL UNION, entenem la sintaxi.

Sintaxi SQL UNION

Sintaxi UNION

SELECCIONAR Columna1, Columna2, Columna3, ..., ColumnaN DES de la Taula1 UNION SELECT Columna1, Columna2, Columna3, ..., ColumnaN DE Taula2

Sintaxi UNION ALL

SELECCIONAR Columna1, Columna2, Columna3, ..., ColumnaN DES de la Taula1 UNIÓ TOTS SELECCIONAR Columna1, Columna2, Columna3, ..., ColumnaN DE Taula2

Seguint amb aquest article, entenem les diferències entre UNION i UNION ALL.

Diferències entre SQL UNION i UNION ALL



UNIÓ UNIÓ TOTS
Combina dos o més conjunts de resultats i no conserva els valors duplicats.Combina dos o més conjunts de resultats i manté els valors duplicats.
 Sintaxi: UNIÓ
 Sintaxi: UNIÓ TOTS
SQL UNION -SQL UNION -Edureka

A continuació, en aquest article sobre SQL UNION, entenem les diferents maneres d’utilitzar aquest operador.

Exemples de SQL UNION i UNION ALL

Per a una millor comprensió, examinaré les següents taules per mostrar-vos diferents exemples.

Taula d'empleats

EmpID Nom EmpAge ciutat Codi Postal País
1Emma23Berlín12109Alemanya
2Rahul26Bombai400.015Índia
3Aayra24Nova York10014USA
4Joan32LondresE1 7AEUK
5Derek29Nova York10012USA

Taula de Projectes

ProjectID Nom Dies laborables ciutat Codi Postal País
1Projecte 110Berlín12109Alemanya
2Projecte 27Bombai400.015Índia
3Projecte 320Delhi110006Índia
4Projecte 415Bombai400.015Índia
5Projecte 528Berlín12109Alemanya

Comencem amb exemples.

Exemples SQL UNION

Exemple d'operador UNION

Escriviu una consulta per recuperar ciutats diferents de la taula Empleats i projectes.

SELECCIONA Ciutat DE Treballadors UNIÓ SELECCIONA Ciutat DE Projectes ORDRE PER Ciutat

Sortida:

ciutat

Berlín

Delhi

Londres

Bombai

Nova York

UNION ALL Exemple d'operador

Escriviu una consulta per recuperar ciutats de la taula Empleats i projectes. Aquí s’han d’incloure valors duplicats.

com configurar un eclipsi
SELECCIONA Ciutat DELS SINDICATS DE TOTS ELS SELECCIONA Ciutat DE Projectes ORDRE PER CIUTAT

Sortida:

ciutat

Berlín

Berlín

Berlín

Delhi

Londres

Bombai

Bombai

Bombai

Nova York

Nova York

A continuació, en aquest article, entenem com s'utilitza la clàusula UNION amb àlies SQL.

java deep copy vs superficial

UNION amb àlies SQL

S'utilitzen àlies SQLper donar a una taula o columna un nom temporal. Per tant, escrivim una consulta per enumerar tots els empleats i projectes únics.

SELECCIONA 'Empleat' AS Tipus, nom, ciutat, país FROM Employees UNION SELECT 'Projecte', nom, ciutat, país DE Projectes

Sortida:

Tipus Nom ciutat País
EmpleatEmmaBerlínAlemanya
EmpleatRahulBombaiÍndia
EmpleatAayraNova YorkUSA
EmpleatJoanLondresUK
EmpleatDerekNova YorkUSA
ProjecteProjecte 1BerlínAlemanya
ProjecteProjecte 2BombaiÍndia
ProjecteProjecte 3DelhiÍndia
ProjecteProjecte 4BombaiÍndia
ProjecteProjecte 5BerlínAlemanya

Clàusula UNIÓ amb WHERE

Escriviu una consulta per recuperar les diferents ciutats índies i els seus codis postals de la taula Empleats i Projectes.

SELECCIONA Ciutat, codi postal, país FROM Empleats WHERE País = 'Índia' UNION SELECCIONA ciutat, codi postal, país DE Projectes WHERE País = 'Índia' ORDRE PER CIUTAT

Sortida:

ciutat Codi Postal País
Delhi110006Índia
Bombai400.015Índia

UNIÓ TOTS amb clàusula WHERE

Escriviu una consulta per recuperar ciutats índies i els seus codis postals de la taula Empleats i Projectes, on es permeten valors duplicats

SELECCIONA Ciutat, codi postal, país FROM Empleats WHERE País = 'Índia' UNION TOTS SELECCIONA ciutat, codi postal, país DE Projectes WHERE País = 'Índia' ORDRE PER CIUTAT

Sortida:

ciutat Codi Postal País
Delhi110006Índia
Bombai400.015Índia
Bombai400.015Índia
Bombai400.015Índia

Per avançar en aquest article, entenguem com utilitzar les clàusules UNION i UNION ALL amb JOINS.JOINS a SQL són que s’utilitzen per combinar files de dues o més taules, basades en una columna relacionada entre aquestes taules.

UNIÓ amb JOINS

Es pot utilitzar l'operador SQL UNION per recuperar dades de dues taules diferents. Vaig a considerar la taula següent juntament amb la taula Empleats per a l'exemple.

Taula ProjectDetails

PID Dies laborables EmpID CostforProject
1112420000
2216335000
3330160000
4425345000
5521150000
SELECCIONA EmpID, nom, CostforProject DES DE LES EMPLEADES ESQUERRA UNIR-SE a ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELECCIONAR EmpID, nom, CostforProject DES D'EMPLEGATS UNIR-SE A ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID

Sortida:

EmpID Nom CostforProject
1Emma60000
1Emma50000
2RahulNUL
3Aayra35000
3Aayra45000
4Joan20000
5DerekNUL

UNION ALL amb JOINS

Escriviu una consulta per recuperar la taula EmpID, Name i CostforProject de Employees i ProjectDetails, on es permeten valors duplicats.

SELECCIONA EmpID, Nom, CostforProject DES D'EMPLEGATS ESQUERRA UNEIX-SE a ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION TOTS SELECCIONA EmpID, Nom, CostforProject DES D'EMPLEGATS UNEIX-SE A PROJECTE ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID

Sortida:

EmpID Nom CostforProject
1Emma60000
1Emma50000
2RahulNUL
3Aayra35000
3Aayra45000
4Joan20000
5DerekNUL
4Joan20000
3Aayra35000
1Emma60000
3Aayra35000
1Emma50000

Amb això, arribo al final d’aquest article sobre SQL UNION. Espero que us hagi agradat llegir aquest article sobre SQL UNION. Hem vist les diferents maneres d’utilitzar les ordres UNION i UNION ALL per ajudar-vos a escriure consultes. Si voleu obtenir més informació sobre MySQL i conegueu aquesta base de dades relacional de codi obert i, a continuació, consulteu la nostra que inclou formació en viu dirigida per un instructor i experiència en projectes reals. Aquesta formació us ajudarà a entendre MySQL en profunditat i us ajudarà a dominar el tema.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris de 'SQL UNION' i us respondré.