Sie sind auf Seite 1von 27

TECNOLOGICO NACIONAL DE MEXICO

INSTITUTO TECNOLOGICO DE CHILPANCINGO

FERNANDO DE JESUS OLEA VALADEZ N°: 15520325


EMANUEL CARLOS FLORES N° 13520558

PROFESOR: MARIO HERNANDEZ HERNANDEZ

INGENIERIA INFORMATICA

SQL CONSULTAS COMPLETA

TALLER DE BASE DE DATOS


2.1 Muestre todos los datos de la tabla DEPT.

Resultado

2.2 Cree una consulta para mostrar las columnas ename, job, hiredate
y el número de empleado, con el número de empleado en la primer columna.

SELECT EMPNO,ENAME,JOB,HIREDATE
FROM EMP;

Resultado
2.3 Cree una consulta que muestre los puestos sin repetirse de la tabla EMP.

Resultado

2.5 Cargue el script 2.2 y cambia el nombre de las columnas como se muestra
en el ejemplo.

SELECT EMPNO "Emp#", ENAME AS Employee,JOB as Job,HIREDATE


as "Hire Date"
FROM EMP;
Resultado
2.6 Muestre el nombre concatenado al puesto (job) separado por una coma y
un espacio, y nombre la columna “Employee and Title”

Resultado

3.1 Haga una consulta para desplegar el nombre y salario de los empleados
que ganen más de $2,850.

SELECT ENAME, SAL


FROM EMP
where SAL > 2850;

Resultado
3.2 Cree un query para mostrar el nombre del empleado y departamento para
el empleado 7566

Resultado

3.3 Modifique el query 3.1 para desplegar el nombre y salario para todos los
empleados cuyo salario esté fuera del rango de $1,500 y $2,850.

SELECT ENAME, SAL


FROM EMP
WHERE SAL NOT BETWEEN 1500 AND 2850;

Resultado
3.4 Muestre el nombre de empleado, puesto y fecha de ingreso de aquellos
empleados que hayan ingresado entre el 20 de Febrero de 1981 y el 1° de Mayo
de 1981.

Resultado

3.5 Muestre el nombre de empleado y número del departamento para aquellos


empleados que se encuentren en los departamentos 10 o 30 ordenados
alfabéticamente por nombre.

SELECT ENAME, deptno


FROM EMP
WHERE deptno= '10' || deptno = '30'
order by ENAME;

Resultado
3.6 Modifique el script 3.3 para listar el nombre y el salario de los empleados que
ganen más de $1,500 y estén en los departamentos 10 o 30. Etiquete las
columnas como Employee y Month Salary, respectivamente.

Resultado

3.7 Muestre el nombre y fecha de ingreso de cada empleado que haya


Ingresado en 1982.

SELECT ENAME, HIREDATE


FROM EMP
WHERE HIREDATE >= '1982-01-01' AND HIREDATE <='1982-12-31';

Resultado
3.8 Muestre el nombre y el puesto de cada empleado que no sean empleados
de alguien.

Resultado

3.9 Muestre el nombre, el salario y la comisión de los empleados que ganan


comisión. Ordene los datos en forma descendente por salario y comisión.

SELECT ENAME, SAL, COMM


FROM EMP
WHERE COMM is not null
order by SAL AND COMM DESC;

Resultado
3.10 Muestre el nombre de los empleados cuya letra sea una A.

Resultado

3.11 Muestre el nombre de los empleados que tengan dos L en su nombre.

SELECT ENAME
FROM EMP
WHERE ENAME LIKE "%LL%";

Resultado
3.12 Muestre el nombre, puesto y salario de aquellos empleados cuyo puesto
sea CLERK o ANALYST y su salario no sea $1,000, $3,000 o $5,000. Ordene la
salida por salario descendente.

Resultado

3.13 Modifique el script 3.6 para mostrar el nombre, salario, el 30% del salario y
comisión para aquellos que su pago de comisión sea mayor que el 30% de su
salario.

SELECT ename,sal, (SAL*.30) as '30%',


COMM from emp
WHERE COMM >= (SAL*.30);

Resultado
4.1 Haga una consulta para desplegar la fecha actual.

Resultado

4.2 Cree un query para mostrar el número de empleado, el nombre,salario y el


salario incrementado en 15%.

Resultado
4.3 Modifique el query 4.2 para agregar una columna adicional, en la que
obtenga el monto del incremento del salario.

Resultado

4.5 Muestre el nombre de empleado y número de meses trabajados hasta la


fecha, para aquellos que pertenecen al departamento 30, ordenado por los
meses trabajados y por nombre.

Select ENAME , date_format(HIREDATE, '%d - %b - %y') as 'Feche de


ingreso',curdate() as 'Fecha actual',
timestampdiff (month,hiredate,curdate()) AS 'Months Workerd'
FROM EMP
WHERE DEPTNO = '30'
order by ename ;

Resultado
4.6 Haga una consulta que dibuje una gráfica mostrando el nivel de
ingresos del empleado, como se muestra.

Resultado

4.7 Escriba una consulta que muestre el nombre “tipo oración” (la primer letra
mayúscula y el resto en minúsculas) y la longitud del nombre, para aquellos
empleados cuyo nombre empiece ya sea con J, A o M.

SELECT concat(upper(left(ename,1)),lower(substring(ename, 2)))Name,


CHARACTER_LENGTH (ENAME)Length
FROM EMP
WHERE ename LIKE'J%'OR ename Like 'A%'OR ename LIKE'M%';

Resultado
4.8 Muestre el nombre, la fecha de ingreso en formato (dd/mm/yyyy)
y el nombre del día en el que ingresó.

Resultado

4.9 Haga una consulta que muestre la comisión de los empleados. Si el


empleado no tiene muestre el mensaje “No commission”.

SELECT ENAME,
If null(COMM, 'NO COMMISSION') AS
COMM FROM EMP;

Resultado
5.1 Haga una consulta para desplegar el nombre, número de
departamento y el nombre del departamento para todos los
empleados.

Resultado

5.2 Haga una lista única de todos los puestos que hay en el departamento 30.

Select emp.JOB, dept.loc, emp.deptno


from emp, dept
where emp.DEPTNO = dept.deptno and loc = 'chicago';

Resultado
5.3 Escriba un query para mostrar el nombre del empleado, nombre
del departamento y localización para todos los empleados que ganan
una comisión, aunque esta sea 0.

Resultado

5.4 Muestre el nombre de empleado y nombre del departamento para todos los
empleados que tengan una A en su nombre.

select emp.ename, dept.dname


from emp, dept
where emp.DEPTNO = dept.deptno and ename Like "%A%";

Resultado
5.5 Escriba un query que muestre el nombre, el puesto, el número y
el nombre del departamento para aquellos empleados que trabajen
en DALLAS.

Resultado

5.6 Muestre el nombre y número de empleado junto con el nombre y número de


su “jefe”, ordene la salida por el nombre del jefe en descendente, etiquete las
columnas como se muestra en el ejemplo.

Select e.ename'Employee',e.empno'Emp#',ee.ename 'Manger',


ee.mgr'Mgr#'
From emp e, emp ee
where e.mgr = ee.EMPNO
Order by ee.ename DESC;
Resultado
5.8 Cree un query que muestre el nombre del empleado, número de
departamento y los nombres de todos los empleados que trabajan en el mismo
departamento para un empleado dado. De nombres apropiados a las columnas,
ordenarlo por número y nombre de empleado.
Select e.deptno, e.ename'Employee',e.empno'Emp#',ee.ename 'Manger',
ee.mgr'Mgr#'
From emp e, emp ee
where e.mgr = ee.EMPNO
Order by e.deptno;

Resultado

5.9 Haga un query que muestre el nombre, el puesto, el nombre de depto.,


salario y el nivel del salario de todos los empleados.
(Nota: utilice la tabla SALGRADE para obtener el nivel del salario)

SELECT emp.ENAME, emp.JOB, dept.dname, emp.SAL, salgrade.GRADE


from emp inner join dept on emp.deptno = dept.deptno,
salgrade where emp.SAL between salgrade.LOSAL and
salgrade.HISAL;

Resultado
5.10 Cree un query para mostrar el nombre y la fecha de ingreso para aquellos
empleados que hayan sido contratados antes del empleado
BLAKE.

SELECT ENAME , HIREDATE from emp where HIREDATE <


(select HIREDATE from emp where ENAME= 'blake');

6.1. ¿Las funciones de grupo funcionan con varios renglones para


Generar un solo Resultado?

Resultado: Verdadero

6.2.¿Las funciones de grupo incluyen valores nulos en los cálculos?

Respuesta: Falso

6.3. ¿La cláusula WHERE elimina renglones antes de ser incluidos


en el agrupamiento?

Resultado: Verdadero
6.4. Muestre el salario mayor, menor, suma y promedio de todos los
empleados. Redondee los resultados como se muestra. Guarde el archivo
s06q04.sql

Select max(SAL) as 'Maximum', min(SAL) as 'Minimum',


sum(SAL) as 'Sum', round (avg(SAL),0) 'Average'
from emp;

6.5. Modifique el archivo s06q04.sql para mostrar el salario mayor,


menor, suma y Promedio por cada tipo de puesto. Guarde el archivo
s06q05.sql

Resultado
6.6. Escriba un query que muestre el número de personas con el mismo
puesto.

Select job 'JOB' , count(Job) 'COUNT'


from emp
group by (job);

Resultado

6.7. Determine el número de jefes que existen.

Resultado

6.8. Escriba un query que muestre la diferencia entre el salario mayor y el


mínimo.

SELECT truncate((max(SAL)) - min(SAL),0) as 'DIFERENCE'


from emp;

Resultado
6.9. Despliegue el número de jefe y el salario de su empleado que gane menos.
Excluya aquellos cuyo manager sea desconocido.
Excluya aquellos grupos cuyo salario mínimo sea menor a $1000. Ordene la
salida en forma descendente por salario.

Resultado

6.10. Escriba un query para mostrar el nombre del departamento, la localidad,


total de empleados asignados y el promedio salarial para los empleados
asignados a ese departamento. Ordene el resultado por Salario en forma
descendente.

SELECT d.dname, d.loc, count(e.EMPNO) as 'Number of people',


round(avg(e.SAL),2) as 'Salary' from dept d join emp e
where d.deptno = e.deptno
group by (d.dname) order by (Salary) desc;

Resultado
6.11. Modifique el query 10, incluya a todos los posibles departamentos.

Resultado

7.1. Escriba un query para mostrar el nombre del empleado y la fecha de


ingreso para todos los empleados que se encuentren en el mismo
departamento que Blake. Excluya a Blake.

SELECT ename, date_format(HIREDATE,'%d/%d/%Y') AS


'HIREDATE'
from emp
where deptno = 30 and ename <> 'BLAKE';

Resultado
7.2. Cree un query para mostrar el número de empleado y el nombre
y salario, para todos los empleados que ganen más del salario
promedio. Ordene el resultado en orden descendente por salario.

Resultado

7.3. Escriba un query que despliegue el número de empleado y el nombre para


todos los empleados que trabajen en un departamento con un empleado cuyo
nombre tenga una T en su nombre. Guarde su instrucción SQL como
s07q03.sql.

SELECT ENAME, EMPNO, dname


from emp, dept
where emp.DEPTNO = dept.deptno and
dname like "%T%";

Resultado
7.4. Muestre el nombre de empleado, número de departamento, y puesto para
aquellos empleados cuyo departamento esté localizado en Dallas.

Resultado

7.5. Muestre el nombre del empleado y salario para todos los empleados que
reportan a King.

Select ename,SAL,mgr 'Mgr#'


From emp
where mgr <> 7831;

Resultado
7.6. Muestre el número de departamento, nombre del puesto para todos los
empleados del departamento Sales.

Resultado

7.7. Modifique el archivo s07q03.sql para desplegar el número de empleado,


nombre y salario para aquellos empleados que ganen más del salario promedio
y que trabajen en un departamento con un empleado cuyo nombre tenga una T
en su nombre. Guarde el archivo como s07q07.sql

SELECT ENAME, EMPNO, dname, round(avg(SAL),2) as 'Salary'


from emp, dept
where emp.DEPTNO = dept.deptno and
dname like "%T%";

RESULTADO
7.8. Cree un query para desplegar a los empleados que ganen un salario
mayor al salario de todos los que tengan el puesto
CLERK. Ordene los resultados por salario del mayor al menor.

Resultado

Das könnte Ihnen auch gefallen