logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Join Externo

Selecciona el idioma :

Por favor, inicia sesión para que tu progreso sea registrado. Sin iniciar sesión, podrás visualizar el video pero no se aumentará tu avance en el curso

Transcripción Join Externo


Existen tablas que, al intentar relacionarlas mediante una columna, presentan registros que no se emparejan. Un caso común ocurre cuando se busca emparejar dos tablas que contienen valores nulos. En estos casos, un **Natural Join** no resulta útil, ya que excluye los valores nulos.

En su lugar, es necesario utilizar **Join externos**, que permiten recuperar los valores nulos. Las combinaciones externas se realizan exclusivamente entre dos tablas y hay tres tipos principales de combinaciones externas:

  • Left outer join: conocido como **left join**.
  • Right outer join: conocido como **right join**.
  • Full outer join: conocido como **full join**.

LEFT JOIN: Este tipo de join recupera los registros de la primera tabla que coinciden con los de la segunda. Si no hay coincidencias, los resultados de la segunda tabla se muestran como nulos.

Ejemplo:SELECT first_name AS nombre, department_name AS departamento FROM hr.employees e LEFT JOIN hr.departments d ON e.department_id = d.department_id;

A diferencia del **Natural Left Join**, aquí podemos especificar el campo de unión. Es importante tener en cuenta el orden de las tablas, ya que la tabla de la izquierda es la que se utiliza para localizar registros en la tabla de la derecha. Además, puede incluir una cláusula **WHERE** que restrinja el resultado de la consulta.

Ejemplo:SELECT first_name AS nombre, department_name AS departamento FROM employees e LEFT JOIN departments d ON e.department_id = d.department_id WHERE d.department_id IS NOT NULL;

Ejemplo:SELECT first_name AS nombre, department_name AS departamento FROM employees e LEFT JOIN departments d ON e.department_id = d.department_id WHERE d.department_id IS NULL;

RIGHT JOIN: Este join funciona de manera similar al Left Join, pero la tabla derecha es la que localiza los registros en la tabla izquierda.

Ejemplo:SELECT first_name AS nombre, department_name AS departamento FROM hr.employees e RIGHT JOIN hr.departments d ON e.department_id = d.department_id;

Al igual que con el **Natural Right Join**, en este caso también podemos especificar el campo de unión. Es importante mantener el orden de las tablas y se puede incluir una cláusula **WHERE**:

  • Ejemplo:SELECT first_name AS nombre, department_name AS departamento FROM employees e RIGHT JOIN departments d ON e.department_id = d.department_id WHERE e.department_id IS NOT NULL;
  • Ejemplo:SELECT first_name AS nombre, department_name AS departamento FROM employees e RIGHT JOIN departments d ON e.department_id = d.department_id WHERE e.department_id IS NULL;

FULL OUTER JOIN O FULL JOIN: Esta combinación externa muestra todos los registros de ambas tablas, independientemente de si hay coincidencias.

Ejemplo:SELECT first_name AS nombre, department_name AS departamento FROM employees e FULL JOIN departments d ON e.department_id = d.department_id;


join externo

Transcripción Join Externo



Publicaciones Recientes de oracle sql

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?