Home Bases de Datos MySQL Unión, Intersección y Diferencia

PostHeaderIcon Unión, Intersección y Diferencia

Usar puntuación: / 42
MaloBueno 

En MySQL no existe una forma directa de hacer la instersección ni la diferencia entre tablas. Solo la unión tiene una traducción directa.

La unión de dos tablas se hace directamente con la operación UNION de la siguiente manera

SELECT campo1, campo2... | * FROM tabla 1 WHERE condición1

UNION

SELECT campo3, campo4... | * FROM tabla 2 WHERE condición2

EJEMPLO:

SELECT * FROM ALUMNOS WHERE FECHA_NACIMIENTO<='1970-01-01'

UNION

SELECT * FROM ALUMNOS WHERE FECHA_NACIMIENTO >='1980-01-01';

La intersección no existe en MySQL. Para ello se usa in INNER JOIN.

SELECT * FROM A INNER JOIN B ON A.CAMPO = B.CAMPO

La diferencia tampoco existe en MySQL. Para sustituirla se utiliza cualquiera de las dos siguientes:

SELECT * FROM TablaA LEFT OUTER JOIN TablaB ON TablaA.nombre = TablaB.nombre WHERE TablaB.id IS NULL

Se podría hacder lo mismo con un RIGHT OUTER JOIN.

Particularmente la diferencia prefiero hacerla con la operación NOT EXISTS

SELECT DISTINCT campo1 FROM TABLA1 WHERE NOT EXISTS (

SELECT campo2 FROM TABLA2 WHERE TABLA1.campo = TABLA2.campo);

 

Comentarios   

 
0 #6 Markinio 25-03-2018 15:33
Mil gracias, la diferencia usando not exists funcionó de naravilla
Citar
 
 
+1 #5 Giovax68 19-02-2015 02:54
:lol: :lol: :lol: :lol:

Muchísimas gracias, me encantó tu post. Tiene información excelente. En mi caso me funcionó la última opción que diste para la 'DIFERENCIA', o sea 'WHERE NOT EXISTS'.
Citar
 
 
+1 #4 ALEXA 07-11-2014 22:39
:-* LLORO AUXILIO
Citar
 
 
+3 #3 jona 04-07-2014 01:29
No mames wee te amo, me salvaste jeje gracias por el aporte
Citar
 
 
-2 #2 ramiro hernandez 11-06-2014 17:57
:P :oops: :-* :-| 8) ;-)

dice la maestra de base de datos que es una total mentiras
Citar
 
 
+1 #1 adiel hernandez 11-06-2014 17:56
tu info es verdaderamente cool
Citar
 

Escribir un comentario


Código de seguridad
Refescar

PostHeaderIcon Más Comentado

PostHeaderIcon Últimos Comentarios

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHoy491
mod_vvisit_counterAyer950
mod_vvisit_counterEsta semana1441
mod_vvisit_counterLa semana pasada8055
mod_vvisit_counterEste mes23206
mod_vvisit_counterEl mes pasado31024
mod_vvisit_counterTodos los días1571784

We have: 48 guests online
Hoy es: Abr 24, 2018