LAB2
LAB2
25. Obtener los datos de todos los empleados del hospital cuyo apellido empiece
por H.
SELECT * FROM PLANTILLA WHERE APELLIDO LIKE 'H%'
26. Obtener todos los datos de los empleados del hospital cuyo número de
empleado
empiece por 3.
SELECT * FROM PLANTILLA WHERE EMPLEADO_NO LIKE '3%'
27. Obtener todos los datos de los empleados del hospital cuyo número de
empleado no
empiece por 3.
SELECT * FROM PLANTILLA WHERE EMPLEADO_NO NOT LIKE '3%'
28. Obtener el valor absoluto de –3.
SELECT ABS(-3) FROM DUAL
33. Poner a mayúscula la primera letra de cada palabra del literal ‘mañana es
miércoles’
SELECT INITCAP(‘mañana es miércoles’) FROM DUAL
39. Calcular el salario medio de los empleados del hospital mediante una función.
SELECT AVG(SALARIO) FROM EMP
40. Calcular el salario medio de los empleados del hospital como cociente de 2
funciones.
SELECT SUM(SALARIO)/COUNT(SALARIO) FROM HOSPITAL
41. Obtener cuál es el salario máximo y el salario mínimo de los empleados del
hospital.
SELECT MAX(SALARIO) FROM EMP
SELECT MIN(SALARIO) FROM EMP
42. Obtener la comisión de los empleados. Repetir la acción teniendo en cuenta que
si un empleado no tiene comisión deberá aparecer un 0.
SELECT COMISION FROM EMP
...
43. Obtener el apellido y salario de los empleados de la tabla EMP ordenando el
resultado en descendente por salario.
SELECT APELLIDO,SALARIO FROM EMP
ORDER BY SALARIO DESC
44. Obtener el apellido y el salario anual de todos los empleados de la tabla EMP,
dando el resultado ordenado en ascendente por salario anual. En esta
columna deberá ponerse el título SALARIO ANUAL.
46. Recuperar todo el personal ordenado por el turno en que trabaja, indicando el
nombre, función y turno.
SELECT EMPLEADO_NO,APELLIDO,TURNO FROM PLANTILLA
ORDER BY TURNO
48. Mostrar los apellidos y salarios de los enfermeros cuyo sueldo esté entre 2 y 2.5
millones, ordenados por código de hospital descendente.
SELECT APELLIDO,SALARIO FROM PLANTILLA
WHERE SALARIO BETWEEN 2000000 AND 2500000
50. Encontrar todos los enfermeros y enfermeras con indicación del salario
mensual de cada uno.
...
52. Encontrar a todos los miembros de la plantilla del hospital cuyo nombre
contenga al menos una "a".
SELECT EMPLEADO_NO FROM PLANTILLA
WHERE EMPLEADO_NO LIKE '%a%'
53. ¿Quiénes son las enfermeras y enfermeros que trabajan en turnos de tarde o
mañana?
SELECT EMPLEADO_NO FROM PLANTILLA
WHERE TURNO IN ('M','T')
54. Encontrar el salario medio de los internos.
SELECT AVG(SALARIO) FROM PLANTILLA
55. Obtener las funciones distintas que tienen los empleados de la plantilla del
hospital.
SELECT DISTINCT FUNCION FROM PLANTILLA
57. Mostrar, para todos los hospitales, el código de hospital, el nombre completo
del mismo, y su nombre abreviado de 3 letras. Ordenar la recuperación por esta
abreviatura.
SELECT HOSPITAL_COD,NOMBRE,SUBSTR(NOMBRE,1,3) FROM HOSPITAL
59. Encontrar el salario más alto y más bajo de la tabla de plantilla, y la diferencia
entre ambos.
SELECT MAX(SALARIO) FROM PLANTILLA
SELECT MIN(SALARIO) FROM PLANTILLA
SELECT MAX(SALARIO) – MIN(SALARIO) AS RESTA FROM PLANTILLA
60. Obtener cuántas funciones distintas que hay en total en las salas 1 y 2 del
hospital 22.
SELECT COUNT(DISTINCT FUNCION) FROM PLANTILLA
WHERE SALA_COD = 01 AND SALA_COD=02 AND HISPITAL_COD = 22