En caso de que necesitemos realizar varias consultas SELECT y mostrar sus resultados uno después de otro, pero al mismo tiempo, podemos usar la clausula UNION ALL. Es decir con UNION ALL generamos una única tabla que contiene las filas obtenidas como resultado de la ejecución de varias consultas SELECT. Para que se entienda mejor, supongamos que tenemos dos tablas, la primera con los estados o provincias de México y la otra con los estados o provincias de Chile, sin embargo necesitamos las provincias de ambos países que contengan la letra “C” al principio. Para empezar las tablas serías más o menos como las siguientes:
idEstado
|
Estado
|
1
|
Coahuila
|
2
|
Zacatecas
|
3
|
Colima
|
idEstado
|
Estado
|
1
|
Antofagasta
|
2
|
Atacama
|
3
|
Coquimbo
|
De forma que la consulta MySQL para México sería:
SELECT idEstado, Estado FROM Mexico WHERE Estado LIKE "C%"
Y para Chile, la consulta MySQL sería:
SELECT idEstado, Estado FROM Chile WHERE Estado LIKE "c%"
Pero si las unimos con UNION ALL la consulta MySQL queda:
SELECT idEstado, Estado FROM Mexico WHERE Estado LIKE "C%" UNION ALL SELECT idEstado,Estado FROM Chile WHERE Estado LIKE "c%"
De forma que como se fusionaron las consultas SELECT, entonces también se mezclarán los resultados de ambas, mostrándose en una sola tabla:
idEstado Estado
5 Campeche
6 Chiapas
7 Chihuahua
8 Coahuila
9 Colima
5 Coquimbo
5 Campeche
6 Chiapas
7 Chihuahua
8 Coahuila
9 Colima
5 Coquimbo
Sin embargo, hay dos reglas que las consultas SELECT deben de cumplir:
- Las consultas SELECT deben seleccionar la misma cantidad de columnas.
- Las columnas seleccionadas deben ser del mismo tipo respectivamente.
No comments:
Post a Comment