Está en la página 1de 6

Actividad 4

Una consulta en la que emplee LEFT JOIN, que además seleccione los resultados de la intersección.

-- Selecciona los empleados y sus departamentos, pero solo si el empleado tiene un departamento asignado
SELECT e.employee_id, d.department_id
FROM employees e
LEFT JOIN departments d ON e.department_id = d.department_id
WHERE e.department_id IS NOT NULL;

Una consulta en la que emplee INNER JOIN.

-- Selecciona los empleados y sus departamentos, pero solo si el empleado tiene un departamento asignado y su salario es mayor a 10000
SELECT e.employee_id, d.department_id
FROM employees e
INNER JOIN departments d ON e.department_id = d.department_id
WHERE e.salary > 10000;

Actividad 4 1
Una consulta en la que emplee RIGHT JOIN, que además seleccione los resultados de la intersección.

-- Selecciona los empleados y sus departamentos, pero solo si el departamento tiene al menos un empleado
SELECT e.employee_id, d.department_id
FROM employees e
RIGHT JOIN departments d ON e.department_id = d.department_id
WHERE e.employee_id IS NOT NULL;

Una consulta en la que emplee CROSS JOIN.

-- Selecciona todos los pares posibles de empleados y departamentos


SELECT e.employee_id, d.department_id
FROM employees e
CROSS JOIN departments d
WHERE e.salary > 10000;

Actividad 4 2
Una consulta en la que emplee LEFT JOIN, que no seleccione los resultados de la intersección

-- Selecciona los empleados y sus departamentos, incluyendo los empleados sin departamento
SELECT e.employee_id, d.department_id
FROM employees e
LEFT JOIN departments d ON e.department_id = d.department_id
WHERE e.department_id IS NULL;

Una consulta en la que emplee RIGHT JOIN, que no seleccione los resultados de la intersección.

-- Selecciona los empleados y sus departamentos, incluyendo los departamentos sin empleados
SELECT e.employee_id, d.department_id
FROM employees e
RIGHT JOIN departments d ON e.department_id = d.department_id
WHERE e.employee_id IS NULL;

Actividad 4 3
Dos consultas unidas por UNION, en la que se emplee un RIGHT JOIN y un LEFT JOIN

-- Selecciona los empleados y sus departamentos, incluyendo los empleados sin departamento y los departamentos sin empleados, pero solo
SELECT e.employee_id, d.department_id
FROM employees e
LEFT JOIN departments d ON e.department_id = d.department_id
WHERE e.salary > 10000
UNION
SELECT e.employee_id, d.department_id
FROM employees e
RIGHT JOIN departments d ON e.department_id = d.department_id
WHERE e.salary > 10000;

Actividad 4 4
Una consulta en la que participen tres tablas.

-- Selecciona los empleados, sus departamentos y las ubicaciones de los departamentos


SELECT e.employee_id, d.department_id, l.location_id
FROM employees e
JOIN departments d ON e.department_id = d.department_id
JOIN locations l ON d.location_id = l.location_id
WHERE e.salary > 10000;

Una consulta en la que participen cuatro tablas.

-- Selecciona los empleados, sus departamentos, las ubicaciones de los departamentos y los países de las ubicaciones
SELECT e.employee_id, d.department_id, l.location_id, c.country_id
FROM employees e
JOIN departments d ON e.department_id = d.department_id
JOIN locations l ON d.location_id = l.location_id
JOIN countries c ON l.country_id = c.country_id
WHERE e.salary > 10000;

Actividad 4 5
Una consulta que emplee un NATURAL JOIN.

-- Selecciona los empleados y sus departamentos usando un NATURAL JOIN


SELECT e.employee_id, d.department_id
FROM employees e
NATURAL JOIN departments d
WHERE e.salary > 10000;

Actividad 4 6

También podría gustarte