Tipos de uniones de MySQL | MySQL se une [con sintaxis]
Publicado: 2020-12-09Tabla de contenido
Introducción
MySQL es un sistema de gestión de bases de datos relacionales (RDBMS) de código abierto respaldado por Oracle. MySQL se compone de dos palabras: "My", el nombre de la hija del cofundador Michael Widenius, y "SQL", la abreviatura de Structured Query Language.
La palabra Relacional en RDBMS es la fundamental sobre la que UNE en MySQLwork. Puede haber muchos tipos y números de tablas en cualquier base de datos. JOINS, como sugiere el nombre, vincula tablas juntas usando columnas comunes. Un ejemplo básico es que la Tabla 1 tiene detalles de los empleados y la Tabla 2 tiene detalles del proyecto.
Si tenemos que verificar los proyectos en los que está involucrado un empleado, podemos unir las tablas en el nombre del empleado o la identificación del empleado, por lo tanto, al hacerlo, se unirán las tablas y se podrá acceder a la nueva tabla virtual (se puede guardar) con toda la información requerida .
Características
- MySQL es de código abierto y un RDBMS adecuado para acceder y administrar registros de las tablas.
- Es compatible con el lenguaje de codificación SQL, que es muy común en el campo de la gestión de bases de datos.
- MySQL es básico y fácil de usar. Tiene cantidades abrumadoras de documentación si alguien está atascado en un problema en particular.
- MySQL tiene una capa de seguridad muy fuerte. Las contraseñas están encriptadas, por lo que los datos confidenciales están a salvo de los intrusos.
- MySQL es escalable, porque admite subprocesos múltiples. Multi-Threading es responsable de la ejecución rápida de consultas y la manipulación de datos, incluso si la tabla es muy grande.
- MySQL tiene una arquitectura Cliente/Servidor. Hay un servidor de base de datos y muchos clientes (programas de aplicación) que están conectados al servidor.
Tipos de Uniones
Unir internamente
La combinación interna es el tipo de combinación predeterminado en MySQL. Une y devuelve registros coincidentes de las dos tablas. Comparará cada fila de una tabla con otra y verificará la condición de unión. Si se cumple la condición, se crea una nueva fila con las columnas de ambas tablas y esta nueva fila se incluye en la salida.
Fragmento de código:
SELECCIONE t1 . emp_id , t1.emp_name,t2.project_name

DE empleado como t1
Proyecto INNER JOIN como t2
EN t1.project_id = t2 . Projecto ID
En esta consulta, hay dos tablas. La primera tabla consta de detalles de los empleados y la segunda comprende todos los proyectos actualmente en curso. Después de ejecutar la consulta anterior, MySQL devolverá a todos los empleados con los detalles de sus respectivos proyectos. Aquí, la columna project_id es una clave externa en la tabla de empleados y una clave principal en la tabla de proyectos. Los empleados sin project_id o project_id sin ningún empleado no serán devueltos.
Unirse a la izquierda
Left join, une y devuelve registros coincidentes de las dos tablas y los registros no coincidentes de la primera tabla. La combinación izquierda esencialmente devuelve la salida de la combinación interna + registros no coincidentes de la primera tabla. Estas filas no coincidentes también tendrán las columnas de la tabla 2, pero el valor de esas columnas será nulo ya que no hay datos coincidentes para ellas.
Fragmento de código:
SELECCIONE t1 . emp_id , t1.emp_name,t2.project_name

DE empleado como t1
Proyecto LEFT JOIN como t2
EN t1.project_id = t2 . Projecto ID
En esta consulta, hay dos tablas. La primera tabla consta de detalles de los empleados y la segunda comprende todos los proyectos actualmente en curso. Después de ejecutar la consulta anterior, MySQL devolverá todos los empleados con sus respectivos detalles del proyecto y también los detalles de los empleados que no tienen asignado un project_id. Aquí, la columna project_id es una clave externa en la tabla de empleados y una clave principal en la tabla de proyectos.
Leer: Cambiar el nombre del nombre de la columna en SQL
Unirse a la derecha
La combinación derecha es muy similar a la combinación izquierda, solo que ahora los registros no coincidentes de la segunda tabla se incluirán en la salida y solo los registros coincidentes de la primera tabla.
Fragmento de código:
SELECCIONE t1 . emp_id , t1.emp_name,t2.project_name
DE empleado como t1
Proyecto RIGHT JOIN como t2
EN t1.project_id = t2 . Projecto ID
Después de ejecutar la consulta anterior, MySQL devolverá todos los empleados con los detalles de sus respectivos proyectos y también los detalles de los proyectos que no tengan empleados coincidentes. Las columnas de detalles del empleado serán NULL en esos casos.
Unión completa
Como sugiere el nombre, la combinación completa devuelve todos los registros coincidentes y no coincidentes. Si MySQL puede encontrar filas coincidentes en la columna deseada, esos registros coincidirán. El resto de las filas tendrán valores NULL.
Fragmento de código:
SELECCIONAR *
DE empleado como t1
Proyecto FULL OUTER JOIN como t2
EN t1.project_id = t2 . Projecto ID
Después de ejecutar la consulta anterior, MySQL devolverá todos los empleados con los detalles de sus respectivos proyectos, también los detalles de los empleados que no tienen proyectos y los proyectos que no tienen empleados coincidentes. Ciertas columnas tendrán valores NULL en consecuencia.
Unión cruzada
Como sugiere el nombre, la unión cruzada unirá cada fila de la tabla 1 con cada fila de la tabla 2, independientemente de las columnas coincidentes. Por lo tanto, si hay 5 registros en cada tabla, la salida tendrá 25 filas, ya que cada fila coincide con otra fila.
Fragmento de código:
SELECCIONAR *
DE empleado como t1
Proyecto CROSS JOIN como t2

Después de ejecutar la consulta anterior, MySQL devolverá todos los empleados con todos los detalles del proyecto. Aunque no tiene mucho sentido visualizar esta información, las uniones cruzadas son importantes y necesarias en algunos casos especiales y específicos.
Lea también: Preguntas y respuestas de la entrevista de SQL
Inscríbase en cursos de ingeniería de software de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Conclusión
Los JOINS son una parte importante de la extracción de datos. Ayudan a combinar datos de varias tablas según las necesidades del usuario. La única desventaja de JOINS puede ser que a veces se vuelven complicados de escribir. Al final del día, los JOINS son muy útiles y se pueden implementar varios tipos de uniones en MySQL.
En general, aprender y practicar en todas las bases de datos mencionadas en este artículo se sumará a su experiencia. Revise la descripción general del curso, el aprendizaje y las oportunidades laborales relacionadas con él: plataformas como upGrad ofrecen cursos potentes diseñados por institutos de gran reputación como IIIT-B en Executive PG Program Full Stack Development.
