Post on 21-Feb-2018
7/24/2019 Practica 6 subconsultas
1/8
INSTITUTO TECNOLGICO DE TAPACHULA
DEPARTAMENTO DE SISTEMAS Y COORDINACIN
DOCENTE ING. JEHIELY BELEM CASTILLO HERNANDEZ.
MATERIA TALLER DE BASE DE DATOS
REPORTE PRACTICA
ALUMNOS
MERIDA MENDOZA CARLOS ELIAS
MRIDA CORTES SERGIO JAIR
RECINOS DE LEON HENRRY
AREVALO LOPEZ ADRIAN
GUTIERREZ CERNA RAYMUNDO
-TAPACHULA CHIAPAS, MXICO A NOVIEMBREDEL 2015-
PERIODO: AGOSTO-DICIEMBRE 2015
7/24/2019 Practica 6 subconsultas
2/8
PRCTICA 6
HAVING, MULTIPLICACIN DE TABLAS, GROUP BY Y OPERADORES LGICOS
1. Mostrar el nmero de los departamentos que tengan ms de 3 empleados asignados usando
Having).
select b.deptno
fromempasa, deptasb
wherea.deptno=b.deptno
group byb.deptno
havingcount(*)>3
2. Mostrar el nombre de los empleados que ganen menos que sus supervisores Multiplicacin de
tablas)
select b.ename
from emp as a, emp as bwhere a.eno = b.mgr and b.sal < a.sal;
7/24/2019 Practica 6 subconsultas
3/8
3. Mostrar el nombre de los empleados que ganen menos que sus supervisores Subconsulta)
4. Mostrar el nombre del empleado, nombre del departamento, nombre del jefe, nombre del
departamento del jefe.
select a.ename as Empleado, b.dname as Dept_Emp, c.ename as Jefe, b.dname as Dept_Jefe
from emp as a, dept as b, emp as c, dept as d
where a.deptno = b.deptno and a.mgr = c.eno and c.deptno = d.deptno
rder by 3 ASC;
5.
Seleccionar el salario mnimo y mximo de las empleados agrupados por empleo Group by):
select job as Trabajo, min(sal) as Minimo, max(sal) as Mximo
from emp
group by job asc;
7/24/2019 Practica 6 subconsultas
4/8
6. Seleccionar el salario mnimo, mximo y medio de cada empleo pero solo de aquellos cuya
media sea superior a 4000
select job as Trabajo, min(sal) as Sal_Min, max(sal) as Sal_Max, avg(sal) as Sal_Prom
from emp
group by job
having avg(sal) > 4000;
7. Mostrar el nombre de los empleados con el nombre de su jefe:
select a.ename as Empleado, b.ename as Jefe
from emp as a, emp as b
where a.mgr = b.eno
order by 2 asc;
7/24/2019 Practica 6 subconsultas
5/8
8. Mostrar el nombre de los empleados que trabajen en Chicago:
select ename as Empleado
from emp
where deptno = (select deptno from dept where loc like 'CHICAGO');
9. Mostrar el nombre de los empleados que ganen ms que su respectivo jefe:
select b.ename as Empleado, b.sal as Salario, a.sal as Sal_Jefe
from emp as a, emp as b
where a.eno = b.mgr and b.sal > a.sal;
10.Calcular el nmero de empleados por departamento que tenga un salario superior a la media:
select deptno, count(*) as No_Emp, SUM(sal) as salario, avg(sal) as Promedio
from emp
group by deptno
having sum(sal) > avg (sal);
7/24/2019 Practica 6 subconsultas
6/8
11. Mostrar las primeras 5 filas de la tabla empleados:
select * from emp limit 5;
12. Mostrar el nmero de departamento con su respectivo nmero de empleados:
select deptno as No_Dept, count(*) as Total_Emp
from emp
group by 1;
13. Mostrar el nombre del departamento con el promedio de sus salarios ordenados en forma
ascendente.
select dept.dname as Departamento, avg(a.sal) as Promedio
from emp as a, dept as bwhere b.deptno=a.deptno
group by a.deptno
order by promedio asc;
7/24/2019 Practica 6 subconsultas
7/8
14. Mostrar los empleados cuya fecha de ingreso sea igual a la fecha actual.
select * from emp
where hiredate = curdate();
15.Analizar las siguientes consultas y describir los resultados:
select * fromemp wherejob='salesman' orjob='manager' anddeptno=20;
select *fromemp wherejob='manager' anddeptno=20 orjob='salesman';
select * fromemp wheredeptno=20 andjob='manager' orjob='salesman';
7/24/2019 Practica 6 subconsultas
8/8
select * from emp where deptno=20 and job='salesman' or job='manager';
select * fromemp wherejob in('salesman','manager') anddeptno=20;
select * from emp where (job='salesman' or job='manager') and deptno=20;