Combinación de tablas

Consultas con varias tablas

Realización de consultas (Unidad 4 en la plataforma)

Base de datos de Proyectos

INNER JOIN

SELECT A.nombre, B.nombre
FROM departamento A 
    INNER JOIN empleado B
    ON A.cddep= B.cddep;

Otra forma

SELECT A.nombre, B.nombre
FROM departamento A 
    INNER JOIN empleado B
    USING (cddep);

RIGHT JOIN

SELECT A.nombre, B.nombre
FROM departamento A  
    RIGHT JOIN empleado B
    ON A.cddep= B.cddep;

¿Qué se obtiene?

SELECT A.nombre, B.nombre
from departamento A  
    RIGHT JOIN empleado B
    ON A.cddep= B.cddep
WHERE A.cddep IS NULL;

LEFT JOIN

SELECT A.nombre, B.nombre
FROM departamento A  
    LEFT JOIN empleado B 
    ON A.cddep= B.cddep;

¿Qué se obtiene?

SELECT A.nombre, B.nombre
from departamento A  
    LEFT JOIN empleado B
    ON A.cddep= B.cddep
WHERE B.cddep IS NULL;

FULL OUTER JOIN

How to do a FULL OUTER JOIN in MySQL?

SELECT A.nombre, B.nombre
FROM departamento A  
    LEFT JOIN empleado B
    ON A.cddep = B.cddep 

UNION

SELECT A.nombre, B.nombre
FROM departamento A 
    RIGHT JOIN empleado B
    ON A.cddep = B.cddep;

Ejercicios:

– Obtener los departamentos que no sean de málaga sin proyectos asignados

– Obtener los empleados pertenecientes a departamentos de Málaga que no trabajan en ningún proyecto

 

Tarea online

 

Más información:

Oracle FreeSQL

Consulta de datos relacionados (4:27:00)

Cómo crear una combinación izquierda de varias tablas en SQL

Consulta sobre varias tablas

 

Deja una respuesta