Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions Repàs consultes HR»

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «==Solucions Repàs Consultes BBDD HR== 1. Muestra el nombre, apellido i salario mensual de los empleados que cobren mas que Jennifer ordenado por salario descendiente …».)
 
Línia 51: Línia 51:
 
   +------------- +-------+-----------------+
 
   +------------- +-------+-----------------+
  
 
+
  SELECT d.department_name "Nombre Dep", e.first_name "Jefe", e.salary "Sueldo Mensual"
 +
  FROM countries c, locations l, departments d, employees e
 +
  WHERE c.country_id=l.country_id
 +
  AND l.location_id=d.location.id
 +
  AND d.manager_id=e.employee_id
 +
  AND c.country_name <> 'United States Of America';
  
  
Línia 59: Línia 64:
 
   | Nombre pais | Region |  
 
   | Nombre pais | Region |  
 
   +-------------+--------+
 
   +-------------+--------+
 +
 +
  SELECT c.country_name "Nombre país", r.region_name "Region"
 +
  FROM countries c, regions r
 +
  WHERE c.region_id=r.region_id
 +
  AND UPPER(c.country_name) LIKE 'A%'
 +
  OR UPPER(c.country_name) LIKE '%A';
  
 
6. Muestra el nombre de cada empleado en mayúsculas junto con el de su respectivo jefe.
 
6. Muestra el nombre de cada empleado en mayúsculas junto con el de su respectivo jefe.
Línia 65: Línia 76:
 
   | Nombre empleado | Nombre jefe |  
 
   | Nombre empleado | Nombre jefe |  
 
   +-----------------+-------------+
 
   +-----------------+-------------+
 +
 +
  SELECT
 +
  FROM
 +
  WHERE
 +
 +
 +
  
 
7. Para cada jefe muestra cuantos empleados tiene a su cargo.
 
7. Para cada jefe muestra cuantos empleados tiene a su cargo.

Revisió del 17:16, 18 març 2015

Solucions Repàs Consultes BBDD HR

1. Muestra el nombre, apellido i salario mensual de los empleados que cobren mas que Jennifer ordenado por salario descendiente

 +--------------------+-------------------+
 | Nombre i apellido  | Salario Mensual   | 
 +--------------------+-------------------+


 SELECT e.first_name||' '||e.last_name "Nombre i apellido"s, e.salary"Salario Mensual"
 FROM employees e
 WHERE e.salary >ANY (SELECT e.salary
                    FROM employees e
                    WHERE UPPER(e.first_name)='JENNIFER');

2. Para cada departamento Muestra el nombre del empleado/s que cobran menos.

 +------------------------+-------------------+
 | Nombre departamentodo  | Nombre empleado   | 
 +------------------------+-------------------+


 SELECT e.department_id"Nombre departamento", e.first_name ||' '|| e.last_name "Nombre empleado"
 FROM e.employees e
 WHERE (e.department.id,e.salary) IN (SELECT e.department_id, min(e.sal)
                                    FROM employees e
                                    GROUP BY e.department);


3. Para cada región muestra cuantos países hay. Ordena por numero de países ascendentemente.

 +-----------------+-------------------+
 | Nombre Región   | Numero de paises  | 
 +-----------------+-------------------+


 SELECT r.region_name "Nombre Region", count(*)"Numero de paises"
 FROM regions r,countries c
 WHERE r.region_id=c.region_id
 GROUP BY r.region_name 
 ORDER BY 2 ASC;


4. Muestra el nombre de los departamentos i nombre de su jefe, que se encuentran fuera de EEUU.

 +--------------+-------+-----------------+
 | Nombre Dep   | Jefe  |  Sueldo Mensual | 
 +------------- +-------+-----------------+
 SELECT d.department_name "Nombre Dep", e.first_name "Jefe", e.salary "Sueldo Mensual"
 FROM countries c, locations l, departments d, employees e
 WHERE c.country_id=l.country_id
 AND l.location_id=d.location.id
 AND d.manager_id=e.employee_id
 AND c.country_name <> 'United States Of America'; 


5. Mostrar el nombre de los países que empiezan o termina en una “a" junto con el nombre de la region a la que pertencen.

 +-------------+--------+
 | Nombre pais | Region | 
 +-------------+--------+
 SELECT c.country_name "Nombre país", r.region_name "Region"
 FROM countries c, regions r
 WHERE c.region_id=r.region_id
 AND UPPER(c.country_name) LIKE 'A%'
 OR UPPER(c.country_name) LIKE '%A';

6. Muestra el nombre de cada empleado en mayúsculas junto con el de su respectivo jefe.

 +-----------------+-------------+
 | Nombre empleado | Nombre jefe | 
 +-----------------+-------------+
 SELECT
 FROM 
 WHERE 



7. Para cada jefe muestra cuantos empleados tiene a su cargo.

 +-----------------+------------------+
 | Nombre jefe     | Numero empleados | 
 +-----------------+------------------+

8. Cantidad de empleados que han ingresado en la empresa en cada año.

 +-------+------------------+
 |  Año  | Numero empleados | 
 +-------+------------------+

9. Para cada empleado y cada puesto ocupado los meses que ha trabajado en dicho puesto.

 +--------------+---------+------------------+
 |  Nombre emp  |  Puesto | Meses trabajados |
 +--------------+---------+------------------+

10. El nombre de los jefes de cada departamento y su telefono.

 +------------------------+------------------+---------------+
 |  Nombre departamento   |  Nombre jefe     | Telefono jefe |
 +------------------------+------------------+---------------+

11. El costo de cada departamento en el ultimo año (suma de salario *12 de todos los empleados mas comisiones)

 +------------------------+-----------------+
 |  Nombre departamento  |  Coste año YYYY  |   | 
 +-----------------------+------------------+


12. Para cada departamento el promedio de sueldo, el salario maximo i el mínimo pero sólo mostrar los departamentos con promedio superior a la media de todos los departamentos.

 +------------------------+-----------------+-----------------+ 
 |  Nombre departamento   |  Sueldo medio   | Salario maximo  | 
 +------------------------+-----------------+-----------------+