Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/02/2014, 12:13
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: unir consultas

1.-UNION es la única forma de UNIR consultas.

Código MySQL:
Ver original
  1. SELECT campo1,campo2 FROM tabla1
  2. SELECT campo1,campo2 FROM tabla2
Solo se puede hacer con unión....

2.-Hay formas ineficientes de usar UNION que pueden asemejarse a unir dos consultas, pero simplemente es una forma no optimizada de redactar una consulta se puede optimizar....

Ejemplo NO optimizado

Código pre:
Ver original
  1. SELECT campo1,campo2 FROM tabla1 WHERE campo1="A"
  2. UNION
  3. SELECT campo1,campo2 FROM tabla1 WHERE campo1="B"
(lo he codificado como "pre" a proposito)


Ejemplos mejores de obtener lo mismo

Código MySQL:
Ver original
  1. SELECT campo1,campo2 FROM tabla1 WHERE campo1="A" OR campo1="B";
Código MySQL:
Ver original
  1. SELECT campo1,campo2 FROM tabla1 WHERE campo1 IN ("A","B");

En todo caso UNION solo se usa con SELECT!!!

Lo que sugieres preguntar de si se puede hacer un union con

Código MySQL:
Ver original
  1. update usuarios set nombre = 'pepe' where id='1'
  2. update usuarios set nombre = 'juan' where id='2'

la respuesta es NO...

Pero.....

Código MySQL:
Ver original
  1. update usuarios set nombre =(CASE id
  2.     WHEN 1 THEN 'pepe'
  3.     WHEN 2 THEN 'juan'
  4. END);

igual te sirve.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 01/02/2014 a las 12:18