Como realizar una operación INTERSECT con MySQL

Una consulta de tipo INTERSECT nos devuelve la intersección de dos consultas, es decir, los valores comunes a las dos consultas, y nos es útil para comprobar que valores cumplen con dos condiciones distintas. en MySQL esta función no existe, por lo que hemos tenido que buscar una solución alternativa.

La consulta original sería de la forma

  1. SELECT member_id, name FROM a
  2. INTERSECT
  3. SELECT member_id, name FROM b

Para solucionar esto lo que hacemos es realizar un INNER JOIN de las dos tablas, quedando una consulta de tipo

  1. SELECT a.member_id, a.name
  2. USING (member_id, name)

con lo que resolvemos el problema.

Esta información la hemos obtenido a partir del blog Carsten's Random Ramblings.

Etiquetas: 

Añadir nuevo comentario

Filtered HTML

  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
CAPTCHA
Esta pregunta se realiza para comprobar que se trata de un humano y prevenir los accesos automatizados para publicar spam.